데이터베이스 작업을하는 동안 쿼리 문자열을 작성하고이 문자열에서 목록 / 배열 / 컬렉션의 where-clause에 몇 가지 제한을 두어야합니다. 다음과 같이 표시되어야합니다.
select * from customer
where customer.id in (34, 26, ..., 2);
문자열 모음이 있고이 문자열의 쉼표로 구분 된 목록을 하나의 문자열로 만들고자한다는 질문으로 이것을 줄임으로써 이것을 단순화 할 수 있습니다.
지금까지 사용한 내 접근 방식은 다음과 같습니다.
String result = "";
boolean first = true;
for(String string : collectionOfStrings) {
if(first) {
result+=string;
first=false;
} else {
result+=","+string;
}
}
그러나 이것은 매우 추한 것을 볼 수 있습니다. 특히 생성 된 문자열 (모든 SQL 쿼리처럼)이 복잡해질 때 처음 보면 어떤 일이 발생하는지 알 수 없습니다.
당신의 (더) 우아한 방법은 무엇입니까?