http://huskdoll.tistory.com/507
방법은 Map을 선언시 <String, Object> 로 선언하고 Object에 list를 넣어주고 query 부분에서 리스트를 foreach 돌려 사용하면 됩니다.
DAO 부분에서 책 정보를 가져오도록 작성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | public List<Books> getBooksInfo() { Map<String, Object> param = new HashMap<String, Object>(); param.put( "id" , "1" ); //#{id}에 셋팅 param.put( "name" , "victor" ); //#{name}에 셋팅 List<String> codeList = new ArrayList<String>(); codeList.add( "01" ); //in 조건에 넣을 정보 codeList.add( "05" ); param.put( "code_list" , codeList); //map에 list를 넣는다. return sqlSession.selectList( "selectBooksInfo" , param); } |
query xml 부분에서 foreach 로 in절에 리스트를 돌림
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | < select id = "selectBooksInfo" resultType = "kr.co.husk.Books" parameterType = "java.util.HashMap" > select price, discount_price from books where id = #{id} and name = #{name} < choose > < when test = "code_list.size != 0" > and book_code in < foreach collection = "code_list" item = "item" index = "index" separator = "," open = "(" close = ")" > #{item} </ foreach > </ when > </ choose > </ select >
|
반응형
'Database' 카테고리의 다른 글
Data Mart (0) | 2019.11.26 |
---|---|
[MySql] 암호화된 데이터 like 검색하기 (0) | 2018.11.12 |
[MySql] DISTINCT , GROUP BY (1) | 2018.05.10 |
[MySql] INDEX (0) | 2018.05.08 |
[MySQL] Transaction과 Loack (0) | 2018.03.22 |