Back-end/spring boot

PreparedStatement에서 setInt()는 Null이 입력이 안된다. 해결 방법은? In PreparedStatement, setInt() can not insert null. Any solution?[spring boot]

은성 개발자 2024. 7. 26. 23:00
728x90

 

어쩔 수 없이 JPA 말고 PreparedStatement를 활용해서 데이터를 입력해야 했다.

data 중에는 null값이 있는데, insert를 실행하려고 했다.

 

문제 발생!

null은 안된다고 하는 거다.

 

가만 보니..

setString() 같은 거는 null 입력이 가능하지만,

setInt()에서는 null이 불가능해서 따로 setNull()로 해야 한다.

 

그래서 if문을 이용해서 구분을 해야하는 번거로움이 있다.

PreparedStatement pstmt = null;
pstmt = conn.prepareStatement("insert into TableName (column1, column2) values(?,?)");

Integer value1 = null;

if(value1 != null){
	pstmt.setInt(1,value1);
}else{
	pstmt.setNull(1,Types.INTEGER);
}
pstmt.setString(2,"test");

 

(* 참고 : int는 null 불가능, Integer은 null 가능 )

 


별게 다 있어 정말

다들 개발 파이팅!

728x90
반응형