java - 如何从 JdbcTemplate 获取 csv 列表?

标签 java spring spring-jdbc

我有以下 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/

相关文章:

带有 jlink 压缩标签的 Java9 打包器

java - 计算循环运行的次数(大 O)

spring - jdbctemplate 时出现空指针异常

java - 无法解析 DuplicateKeyException 上的符号 'logger'

java - 从控制台读取字符串行

javax.persistence.PersistenceException : org. hibernate.exception.GenericJDBCException:无法执行查询

spring - 使用 Spring Controller 从使用 JavaScript 生成的表单提交列表

java - 缺少@AnnotationDrivenTx Spring3

eclipse - 如何在Spring中使用STS在root-context.xml文件中配置Bean类?

java - 需要帮助来理解为什么这段代码无法编译