我有以下 sql 查询,并希望将其与 JdbcTemplate
一起使用从 Spring 开始:
String sql = "SELECT name, age FROM EMPLOYEE WHERE age >= ?";
List<Employee> employees = jdbcTemplate.query(sql, 18, new EmployeeRowMapper());
public class EmployeeRowMapper implements RowMapper<Employee> {
@Override
public Employee mapRow(ResultSet rs, int rowNum) throws SQLException {
Employee employee = new Employee();
employee.setName(rs.getString("name"));
employee.setAge(rs.getString("age"));
return employee;
}
}
问题:如果我只关心在任何常见 sql 工具中执行 sql 时得到的输出怎么办?输出将是:
name;age
john;18
doh;22
...
据我了解我的 SQL,我知道我会返回 2 列,其中第一列是姓名,第二列是年龄。因此对我来说,没有必要通过显式使用列名来提取数据,例如 rs.getString("age")
?
如何使用JdbcTemplate
仅将结果输出为 csv 列表,而无需将其映射到对象?
最佳答案
String sql = "SELECT name || ';' || age FROM EMPLOYEE WHERE age >= ?";
List<String> employees = jdbcTemplate.queryForList(sql, String.class, 18);
关于java - 如何从 JdbcTemplate 获取 csv 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49261514/