gpt4 book ai didi

java - 使用 Jdbctemplate 和 Rowmapping 获取 Bean 而不是 List 对象

转载 作者:行者123 更新时间:2023-12-02 12:06:39 26 4
gpt4 key购买 nike

我正在尝试获取结果集并将其转换为 Bean。它不起作用。但后来我尝试转换到 beans 列表,它起作用了。谁能告诉我如何使用 Jdbctemplate 和 Rowmapping 直接获取 Bean 对象。

这是我的代码。

String sql = "SELECT * FROM BB.Employeeswhere " +
"BBEmpPK = ? ";

List<EmployeeDto> deals = (List<EmployeeDto>) getJdbcTemplate().query(
sql,
new Object[] {empId},
new RowMapper<EmployeeDto>() {
public EmployeeDtomapRow(ResultSet rs, int rowNum) throws SQLException {
EmployeeDto d = new EmployeeDto();
d.setEmpName(rs.getString(2));
return d;
}
});

理想情况下,这应该只返回一行。有什么想法吗?

如果有任何其他没有行映射器的解决方案,那就更好了。因为在表中,我有 50 多个列,所以很难用这些字段创建 Bean

最佳答案

如果您只需要单行和单列,则很容易使用:
String userName = jdbcTemplate().queryForObject(sql, new Object[] {empId}, String.class);

如果您想要多于 1 行和单列,您可以使用:
List<String> userNames = jdbcTemplate.queryForList(sql, new Object[] {empId}, String.class);

<小时/>边注:如果您希望它正常工作,您的实现应该是这样的:

List<EmployeeDto> deals = jdbcTemplate.query(
sql,
new Object[] {empId},
new RowMapper<EmployeeDto>() {
public EmployeeDto mapRow(ResultSet rs, int rowNum) throws SQLException {
EmployeeDto d = new EmployeeDto();
d.setName(rs.getString(2));
return d;
}
});

关于java - 使用 Jdbctemplate 和 Rowmapping 获取 Bean 而不是 List 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46872720/

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