ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • BoardMapper.xml에서Criteria처리
    Spring_FrameWork 2018. 11. 28. 12:42

    검색 조건이 3가지 이므로 총 6가지 조합이 가능하지만 , 각 문자열을 이용해서 검색 조건을 결합하는 형태로 하면 3개의 동적 SQL 구문만으로 처리를 할수 있다 

    <foreach>문을 이용해서 검색 조건들을 처리 하는데 typeArr이라는 속성을 이용한다

    MyBatis는 원하는 속성을 찾을 때 getTypeArr() 과 같이 이름에 기반을 두어서 검색하기 때문에 Criteria에서 만들어둔 getTypeArr()의 결과인 문자열의 배열이 foreach의 대상이된다 (MyBatis는 엄격하게 javaBeans의 규칙을 따르지 않고 get/set 메서드만을 활용하는방식 입니다.)

    <choose>안쪽의 동적 SQL은 ‘OR  title … OR content… OR Writer…’와 같은 구문을 만들어 내게 됩니다. 따라서 바깥쪽에서는 <trim>을 이용해서  맨앞에 생성되는 OR을 없애 줍니다

    위 동적 SQL은 상황에 따라서 다음과 같은 SQL을 생성합니다. 

    동적 SQL을 이용해서 검색 조건을 처리하는 부분은 해당 데이터의 개수를 처리하는 부분에서도 동일하게 적용하여야 합니다. 

    <sql>이라는 태그를 이용해서 SQL 의 일부를 별도로 보관하고 필요한 경우 include시키는 형태로 사용할수 있습니다.


    'Spring_FrameWork' 카테고리의 다른 글

    @RestController에서 파라미터  (0) 2018.11.28
    RESTController의 반환 타입  (0) 2018.11.28
    페이징 처리  (0) 2018.11.28
    json사용  (0) 2018.11.28
    Spring_Web 248p  (1) 2018.11.27
Designed by Tistory.