728x90
반응형
mybatis에서 in query를 사용하기 위해 list 형태의 파라미터를 넘겼다.
그리고 mybatis에서는 <foreach>를 사용하여 루프 돌림.
이때 String[] -> List 형태로 변환하여 넘기는 방법.
1. for 기본
List<String> AA = new ArrayList<String>();
for(int i=0; i< strArray.length; i++) {
AA.add(strArray[i].toString());
}
2. 향상된 for문
List<String> BB = new ArrayList<String>();
for(String str : strArray) {
BB.add(str);
}
3. lambda
List<String> CC = Arrays.asList(strArray).stream().collect(Collectors.toCollection(ArrayList::new));
List<String> DD = Arrays.asList(strArray).stream().collect(Collectors.toList());
List<String> EE = Stream.of(strArray).map(String::toString).collect(Collectors.toList());
mybatis에서 foreach 돌릴때 제대로 세팅안해서 에러나는데
lambda식을 잘 못다루는거인 줄 알고 이것저것 시도했던 방법들
결과적으로 lambda식 셋 모두 array to list로 변환되며
mybatis의 foreach도 성공적으로 돌았다.
728x90
'IT story > java' 카테고리의 다른 글
[수동 validateor] Annotation validator (0) | 2022.09.26 |
---|---|
[JPA] @LastModifiedDate 자동 저장 안될 때. (0) | 2021.07.19 |