gpt4 book ai didi

java - 如何使用 NamedParameterJDBCTemplate 中的字符串列表来获取结果

转载 作者:IT老高 更新时间:2023-10-28 13:49:05 24 4
gpt4 key购买 nike

使用 Spring-JDBC 进行实验。我正在使用 this作为引用。我正在尝试获取具有相同姓氏的 Actor 列表。运行这段代码给了我想要的结果:

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<String>的姓氏。如何使用我拥有的列表获取 Actor 列表?我是否遍历姓氏列表并调用 getActorsWithSameLastName()每次或spring是否提供了一种迭代并为我获取结果的方法?请指教。

最佳答案

使用 IN 子句..

How to use SELECT IN clause in JDBCTemplates?

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());

关于java - 如何使用 NamedParameterJDBCTemplate 中的字符串列表来获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14433438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com