티스토리 뷰

Skill/spring

mybatis 문자열 비교

진열사랑 2024. 12. 2. 16:44

출처  :https://velog.io/@zawook/Mybatis-Mapper-if

isEquas(str) 문자열 비교
<if test="userId == 'hong'"> 이렇게 써도 될것 같지만 에러가 난다.

Mybatisl에서는 변수가 자바객체처럼 사용되므로 자바에서 사용되는 문자열 비교 메소드를 이용하면 된다.

싱글쿼테이션과 더블쿼테이션을 잘 보자. ""는 문자열이고 ''는 문자이다.

equals로 비교할 때에는 ''으로 처리할 경우 비교대상 문자가 한글자이면 비교되지 않지만 두글자 이상이면 싱글쿼테이션으로도 비교가 가능하다. 문자열은 ""로 처리하는게 나을듯 싶다.

참고로 equalsIgnoreCase는 대소문자 비교뿐만 아니라 ''만으로도 문자열 비교가 된다. 단 비교할 문자를 먼저 쓴 경우에 당연히 에러.


    <if test='userId.equals("hong")'>  (O)

    <if test='userId == "hong"'>  (O)

    <if test="userId == 'hong'">  (Error)

    <if tset='userId == "h"'>  (O)

    <if test="'hong'.equals(userId)">  (O)

    <if test="'h'.equals(userId)'>  (X)

    <if test="userId.equals('h')">  (X)

    <if test="userId == 'hong'.toString()>  (O)

    <if test="userId eq 'hong'.toString()>  (O)

    <if test="userId.equalsIgnoreCase('hong')">  (O)

    <if test="userId.equalsIgnoreCase('h')">  (O)

    <if test="'h'.equalsIgnoreCase(userId)">  (Error)

'Skill > spring' 카테고리의 다른 글

java aws secretManager사용법  (0) 2024.10.22
Query Timeout 적용  (0) 2024.10.17
안전한 cast  (0) 2024.07.31
jsp의 일부분 replace 방법  (0) 2024.06.11
Annotation 생성  (0) 2024.06.04
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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
글 보관함