728x90
mybatis 부적합한 열유형: 1111
HTTP Status 500 - Request processing failed; nested exception is org.springframework.jdbc.UncategorizedSQLException: Error setting null for parameter #3 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 부적합한 열 유형: 1111
1. 문제상황
Spring 프로젝트 update코드 작성후 실행 => 브라우저와 콘솔에 아래와 같은 오류메시지 출력
브라우저
콘솔
2. 원인
db에 올바른 값이 입력되지 않았거나, null을 허용하지 않은 칼럼에 null값이 입력되어서 오류 발생
원인을 분석하고 문제점을 찾아보니 jsp페이지에서 update해야할 값 중에서 userEemail을 누락해서 오류가 발생
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>회원정보 상세 페이지</title> <%@ include file="../include/member_header.jsp" %> <script> $(document).ready(function(){ $("#btnUpdate").click(function(){ document.form1.action = "${path}/member/update.do"; document.form1.submit(); }); }); </script> </head> <body> <%@ include file="../include/member_menu.jsp" %> <h2>회원정보 상세</h2> <form name="form1" method="post"> <table border="1" width="400px"> <tr> <td>아이디</td> <!-- id는 수정이 불가능하도록 readonly속성 추가 --> <td><input name="userId" value="${dto.userId}" readonly="readonly"></td> </tr> <tr> <td>비밀번호</td> <td><input type="password" name="userPw"></td> </tr> <tr> <td>이름</td> <td><input name="userName" value="${dto.userName}"></td> </tr> <!-- 누락된 부분 --> <tr> <td>이메일주소</td> <td><input name="userEmail" value="${dto.userEmail}"></td> </tr> <!-- 누락된 부분 --> <tr> <td>회원가입일자</td> <td> <fmt:formatDate value="${dto.userRegdate}" pattern="yyyy-MM-dd HH:mm:ss"/> </td> </tr> <tr> <td>회원정보 수정일자</td> <td> <fmt:formatDate value="${dto.userUpdatedate}" pattern="yyyy-MM-dd HH:mm:ss"/> </td> </tr> <tr> <td colspan="2" align="center"> <input type="button" value="수정" id="btnUpdate"> <input type="button" value="삭제" id="btnDelete"> </td> </tr> </table> </form> </body> </html> | cs |
3. 해결
jsp페이지에 누락된 userEamil을 작성후 재실행