gpt4 book ai didi

java - 如何从 simplejdbctemplate 查询中获取字符串列表或类型 T?

转载 作者:行者123 更新时间:2023-12-04 05:11:17 25 4
gpt4 key购买 nike

我想从我的 simplejdbctemplate 查询表中获取所有行,并希望将它们添加到列表中。最好的方法是什么?
我试过这个:

List<String> carbrands = (List<String>) jdbcTemplate.queryForList("select brand from cars", String.class);

所以我希望有一个字符串列表,例如:
toyota
hyundai
bmw
benz
...

但我无法让它工作。如果我尝试对多种类型执行此操作,我会卡住:
List<Car> values = (List<Car>) jdbcTemplate.queryForList("select name,brand,value from cars", Car.class);

这也不起作用。我希望它返回 Cars,我将其定义为名称、品牌、值(value)。但是......我已经用谷歌搜索并找不到解决方案。有什么建议么?

最佳答案

1) 查询 1 是正确的,应该可以工作。

2)查询2应该是

List<Car> list = jdbcTemplate.query("select name,brand,value from cars", new BeanPropertyRowMapper<Car>(Car.class));

Car 应该是一个有效的 JavaBean - 必须有一个公共(public)的无参数构造函数和公共(public)的 setter/getter
public class Car {
String name;

public void setName(String name) {
this.name = name;
}

public String getName() {
return name;
}
...
}

或者,您可以将汽车读取为列的 map
List<Map<String, Object>> cars = jdbcTemplate.queryForList("select * from cars");
for(Map car : cars) {
String brand = (String)car.get("brand");
String name = (String)car.getName("name");
....
}

关于java - 如何从 simplejdbctemplate 查询中获取字符串列表或类型 T?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14906760/

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