728x90
결론
MySQL의 pub컬럼의 기본값이 1인것을 보고 마이바티스 #{pub}은 DBMS에 알맞은 값(true/false or '1','0')으로 변환해준다
MySQL에서 Boolean타입을 쓰려면 자동으로 TINTINY라는 타입으로 변경이 된다
이 타입은 0,1만 쓸수 있는거 같다
그런데 java에서 boolean의 값은 0,1이 아니라 True와 False 값이 가진다.
그래서 동일하지 않다.
이 점 때문에 enum타입 클래스 만들어서 값을 0,1만 가지는걸 만들어볼까 했지만
enum타입으로 0,1값을 가질 수는 없는거 같았다
더 깊게 파고 들진 않았지만 대문자 문자만 쓸 수 있는걸까?
다음에 enum 타입은 다시 복습을 해야겠다.
다시 본론으로 돌아와서 Mysql과 JAVA bool값 변환은
내 경우에 마이바티스를 쓰면 문제가 되지 않았다.
마이바티스의 경우
위 글과 같이 알아서 변환해준다.
예를 들어
<select id="getWritingList" resultType="com.MyBlog.Dto.Board">
select * from board
<where>
<if test="query !=null and query != ''">
${title} like '%${query}%'
</if>
and pub = #{pub}
</where>
order by date desc
limit #{offset}, #{size}
</select>
and pub = #{pub}
위와 같은 select구문을 만들었을때
pub은 boolean타입으로
@Controller 단에서
pub값으로 true를 줘도
MySQL의 pub컬럼의 기본값이 1인것을 보고 마이바티스 #{pub}은 DBMS에 알맞은 값(true/false or '1','0')으로 변환해준다
728x90
'Spring (boot) 오류 해결' 카테고리의 다른 글
return value ㅁㅁㅁ was not iterable (0) | 2022.02.07 |
---|---|
{"readystate": 4, "responseText":"\r\n (0) | 2022.02.06 |
"status": 999,"error": "None","message": "No message available" (0) | 2022.02.04 |
부트스트랩 5버젼과 섬머노트 부트스트랩 4버젼 충돌 해결 (2) | 2022.02.03 |
Uncaught TypeError: $(...).summernote is not a function (0) | 2022.02.03 |
댓글