일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 쇼핑몰 프로젝트
- 로그인 기능
- BCrypt 적용
- 스프링 프로젝트
- 삭제 구현
- 스프링 게시판 구현
- 스프링 파일 삭제
- ResponseEntity
- 스프링 쇼핑몰 프로젝트
- 인증번호 전송
- 이미지 출력
- arraylist
- 스프링 업로드
- 스프링 포트폴리오
- spring 프로젝트
- 스프링 메일 전송
- 정규표현식
- 스프링 이미지
- spring 쇼핑몰
- 회원가입 기능
- 스프링 HikariCP
- 로그아웃 기능 구현
- 파일 업로드
- 스프링 게시판
- 스프링 쇼핑몰
- 스프링 프로젝트 기본 설정
- oracle 설치방법
- Bcrypt
- 쇼핑몰 포트폴리오
- 스프링 프로젝트 설정
Archives
- Today
- Total
Kim VamPa
에러 : java.sql.SQLException: 부적합한 열 유형: 1111 본문
728x90
반응형
ERROR: jdbc.audit - 4. PreparedStatement.setNull(5, 1111)
java.sql.SQLException: 부적합한 열 유형: 1111
at oracle.jdbc.driver.OracleStatement.getInternalType(OracleStatement.java:4121)
at oracle.jdbc.driver.OraclePreparedStatement.setNullCritical(OraclePreparedStatement.java:4208)
at oracle.jdbc.driver.OraclePreparedStatement.setNull(OraclePreparedStatement.java:4192)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.setNull(OraclePreparedStatementWrapper.java:1010)
at net.sf.log4jdbc.sql.jdbcapi.PreparedStatementSpy.setNull(PreparedStatementSpy.java:266)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.setNull(HikariProxyPreparedStatement.java)
at org.apache.ibatis.type.BaseTypeHandler.setParameter(BaseTypeHandler.java:61)
at org.apache.ibatis.scripting.defaults.DefaultParameterHandler.setParameters(DefaultParameterHandler.java:87)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.parameterize(PreparedStatementHandler.java:94)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.parameterize(RoutingStatementHandler.java:64)
at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:88)
at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:49)
at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)
at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)
at com.sun.proxy.$Proxy15.insert(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:271)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:93)
at com.sun.proxy.$Proxy16.memberJoin(Unknown Source)
at com.vam.service.MemberServiceImpl.memberJoin(MemberServiceImpl.java:18)
at com.vam.controller.MemberController.joinPOST(MemberController.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:877)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:783)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:877)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:609)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:810)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1506)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
0. 발생원인
- null을 허용하지 않는 컬럼에 null이 삽입되거나, 혹은 올바르지 않은 입력값이 삽입된 경우
1. 상황
- 회원가입페이지에 가입할 회원 데이터를 입력 후 회원가입 버튼을 눌렀을 때 에러 상황 발생
- View에서 Controller로 회원가입 메서드 정상 진입.
- 쿼리를 실행 하는 코드에서 에러가 발생
2. 시도해본 것들
- 회원가입 쿼리문이 정상 적으로 작동하는지를 알아보기 위해 Junit으로 회원가입 쿼리문 테스트
- View에서 작성한 데이터가 Controller로 정상적으로 넘어오는지를 확인하기 위해 System.out() 혹은 logger.info() 코드를 Controller의 해당 메서드에 삽입하여 확인
3. 해결
- Junit 테스트 결과 쿼리문은 정상작동
- logger.info()를 통해 View에서 전송된 데이터를 확인한 결과 일부 데이터가 null로 들어오는 것을 확인.
- null로 들어오는 View페이지의 input 태그 확인 => 해당 input태그 속성에 disabled 가 설정 되어 있었음.
* disabled 속성
- 해당속성이 적용된 태그의 정보가 submit을 허용하지 않음.
- 표기 가능한 태그(요소) : input, button, textarea, select, option 등
작성일
- 2020-11-24
728x90
반응형
'개발노트 > 에러' 카테고리의 다른 글
java.lang.NullPointerException (0) | 2021.01.31 |
---|---|
에러 : org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.filterChains' (0) | 2020.12.20 |
스프링 에러 : SQLSyntaxErrorExceptio (1) | 2020.08.13 |
스프링 에러 : NoSuchBeanDefinitionException (1) | 2020.08.11 |
스프링 에러 : IndexOutOfBoundsException (0) | 2020.02.11 |
Comments