초보개발자!
1k
2019-03-16 12:44:42
8
234

오라클 IN 연산자 질문이있습니다.


ibatis를 쓰고있는데 현재 체크박스가 두개있다면 

그 두개를 선택하고 검색을하게 되면 쿼리 조건절에서 컬럼명 IN ('A, B') 이렇게 들어가서 조회가 안됩니다

결론적으로 컬럼명 IN ('A', 'B') 이렇게 들어가야하는데 방법이있을까요??

0
0
  • 답변 8

  • 사는게힘듭니다
    1k
    2019-03-16 13:27:35
    체크박스를 검색조건에 포함시키려면 foreach 문법을 쓰셔야합니다.
    0
  • 초보개발자!
    1k
    2019-03-16 13:48:11

    ibatis여서 foreach 대신에 iterate 라는게 있어서 쓰려고 하는데 

    자꾸 이런 에러가뜨내요 ㅠㅠㅠ 밑에와같이 쓰는방식이 틀렸나요??

    Cause: com.ibatis.sqlmap.client.SqlMapException: ParameterObject or property was not a Collection, Array or Iterator.

     <iterate  property="a_chk" open="AND CHK IN (" close=")" conjunction="," >

                          #a_chk[]#

                 </iterate>


    0
  • Ires
    1k
    2019-03-16 14:11:17

    파라미터로 넘긴 a_chk의 데이터타입이 Array거나 List형태인가요?

    0
  • 사는게힘듭니다
    1k
    2019-03-16 14:17:59

    Open에서 and chk in을 문법바깥으로 빼세요 

    0
  • 초보개발자!
    1k
    2019-03-16 14:47:52

    String입니다. vo에 그러면 

    List<String>으로 선언만하면 되는건가요??

    0
  • 사는게힘듭니다
    1k
    2019-03-16 14:49:23

    체크박스는 검색조건에 참여하려면 List나 배열로 받아야합니다.

    그리고 iterate 문법에 open에는 쿼리문이 오면안됩니다 . AND CHK IN 을 iterate 문법바깥으로빼시면되요.

    0
  • 사는게힘듭니다
    1k
    2019-03-16 14:49:53

    List<String>으로 받으셔도됩니다.

    0
  • 초보개발자!
    1k
    2019-03-16 15:00:28

    앗 넵 조언감사합니다!!

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.