MyBatis 동적쿼리 if 문 사용법입니다.
파라미터 값 if문 사용방법
MyBatis if 문
자바에서 사용하는 if else 문과는 조금 다른 단일 if 문이라고 보면 될 것 같습니다.
1. Mapper.java 파일에서 다음과 같이 파라미터를 넘겨 줍니다.
public List<test> testData(@Param("dbspaceNum")Integer dbspaceNum, @Param("dbspaceName")String dbspaceName) throws SQLException;
<if test='#{dbspaceName} != "all"'>
AND a.dbsnum = #{dbspaceNum}
</if>
ex) 옳바른 예
이런식으로 변수명을 넘겨주어야지 제대로 된 값이 넘어옵니다.
이렇게 간단한 것때문에 엄청 삽질 했네요...
<if test='dbspaceName != "all"'>
AND a.dbsnum = #{dbspaceNum}
</if>
같은 문자를 비교하는 방법은 다음과 같다고 합니다.
1.
<if test='파라미터 != null and(파라미터 eq "test".toString())'>
AND 필드명 = #{파라미터} ... 기타등등
</if>
2.
<if test='파라미터 !=null and 파라미터.equals("test")'>
AND 필드명 = #{파라미터} ... 기타등등
</if>
3. 대소문자 관계없이 비교하는법
<if test='파라미터 !=null and 파라미터.equalsIgnoreCase("test")'> //비교할 스트링 값을 " "(double quote)로 묶어주는게 좋다고 합니다.
AND 필드명 = #{파라미터} ... 기타등등
</if>
이 있다고 합니다.
삽질의 흔적들 입니다...
<!-- <if test="#{dbspaceName} != null and #{dbspaceName}.equals('all')">
WHERE a.chknum = b.chunknum
AND a.chknum = c.chknum
AND a.dbsnum = d.dbsnum
</if>
<if test="#{dbspaceName}!='all'">
WHERE a.chknum = b.chunknum
AND a.chknum = c.chknum
AND a.dbsnum = d.dbsnum
AND a.dbsnum = #{dbspaceNum}
</if> -->
<!-- <choose> -->
<!-- <when test='#{dbspaceName}.equals("all")'> -->
<!-- WHERE a.chknum = b.chunknum -->
<!-- AND a.chknum = c.chknum -->
<!-- AND a.dbsnum = d.dbsnum -->
<!-- </when> -->
<!-- </choose> -->
<!-- <when test="#{dbspaceName} != null and #{dbspaceName}.equals('all')">
WHERE a.chknum = b.chunknum
AND a.chknum = c.chknum
AND a.dbsnum = d.dbsnum
</when>
<when test="#{dbspaceName} != 'all'">
WHERE a.chknum = b.chunknum
AND a.chknum = c.chknum
AND a.dbsnum = d.dbsnum
AND a.dbsnum = #{dbspaceNum}
</when> -->
<!-- <choose>
<when test="#{dbspaceName}.equalsIgnoreCase('all')">
WHERE a.chknum = b.chunknum
AND a.chknum = c.chknum
AND a.dbsnum = d.dbsnum
</when>
<when test="#{dbspaceName} != 'all'">
WHERE a.chknum = b.chunknum
AND a.chknum = c.chknum
AND a.dbsnum = d.dbsnum
AND a.dbsnum = #{dbspaceNum}
</when>
</choose>-->
참.... 어이 없는 실수 였다..............
'IT > MyBatis' 카테고리의 다른 글
[MyBatis]MyBatis 사용법 (0) | 2015.10.03 |
---|