[SPRING] NamedParameterJDBCTemplate에서 문자열 목록을 사용하여 결과를 얻는 방법
SPRINGNamedParameterJDBCTemplate에서 문자열 목록을 사용하여 결과를 얻는 방법
Spring-JDBC로 실험하기. 이 참조로 사용하고 있습니다. 같은 성을 가진 배우 목록을 얻으려고합니다. 이 코드를 실행하면 원하는 결과를 얻을 수있었습니다.
public List<String> getActorsWithSameLastName(String lastName,
NamedParameterJdbcTemplate template) {
String query = "SELECT FIRSTNAME FROM ACTORS WHERE LASTNAME=:LASTNAME";
Map<String, String> paramMap = new HashMap<String, String>();
paramMap.put("LASTNAME", lastName);
return template.queryForList(query, paramMap, String.class);
}
나는 성 (姓)의 List
해결법
-
==============================
1.IN 절을 사용하십시오 ..
IN 절을 사용하십시오 ..
JDBCTemplate에서 SELECT IN 절을 사용하는 방법?
List<String> lastnames= new ArrayList<>(); Map namedParameters = Collections.singletonMap("lastnamevalues", lastnames); StringBuffer recordQueryString = new StringBuffer(); recordQueryString.append("select FIRSTNAME, LASTNAME from ACTORS where lastname in (:lastnamevalues)"); List nameInvolvements = this.namedparameterJdbcTemplate.query(recordQueryString.toString(), namedParameters, new MyMapper());
-
==============================
2.MapSqlParameterSource를 사용할 수도 있습니다.
MapSqlParameterSource를 사용할 수도 있습니다.
String query = "SELECT FIRSTNAME FROM ACTORS WHERE LASTNAME in (:LASTNAME)"; Set<String> ids = ....; MapSqlParameterSource parameters = new MapSqlParameterSource(); parameters.addValue("LASTNAME", ids); this.namedparameterJdbcTemplate.query(query.toString(), parameters);
from https://stackoverflow.com/questions/14433438/how-to-use-a-list-of-string-in-namedparameterjdbctemplate-to-get-results by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] @Autowired Spring Security의 UserDetails에 대한 예외 예외 (0) | 2019.04.03 |
---|---|
[SPRING] 현재 요청의 HttpServletRequest를 가져 오는 정적 인 방법이 있습니까? (0) | 2019.04.03 |
[SPRING] Spring RestTemplate 매개 변수가있는 HTTP Post에서 400 개의 잘못된 요청 오류가 발생합니다. (0) | 2019.04.03 |
[SPRING] Thymeleaf : 속성 및 속성이있는 경우 텍스트 표시 (0) | 2019.04.03 |
[SPRING] @Autowired vs 세터에 필요 @ (0) | 2019.04.03 |