Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从JdbcTemplate获取csv列表?_Java_Spring_Spring Jdbc - Fatal编程技术网

Java 如何从JdbcTemplate获取csv列表?

Java 如何从JdbcTemplate获取csv列表?,java,spring,spring-jdbc,Java,Spring,Spring Jdbc,我有以下sql查询,并希望与spring中的JdbcTemplate一起使用: String sql = "SELECT name, age FROM EMPLOYEE WHERE age >= ?"; List<Employee> employees = jdbcTemplate.query(sql, 18, new EmployeeRowMapper()); public class EmployeeRowMapper implements Row

我有以下sql查询,并希望与spring中的
JdbcTemplate
一起使用:

    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而言,我知道我将返回两列,第一列是名称,第二列是年龄。所以对我来说,没有必要通过显式使用列名来提取数据,比如
rs.getString(“age”)

如何使用
JdbcTemplate
仅将结果输出为csv列表,而不必将其映射到对象?

String sql=“SELECT name | | | age FROM EMPLOYEE WHERE age>=?”;
String sql = "SELECT name || ';' || age FROM EMPLOYEE WHERE age >= ?";
List<String> employees = jdbcTemplate.queryForList(sql, String.class, 18);
List employees=jdbcTemplate.queryForList(sql,String.class,18);
String sql=“从年龄>=?”的员工中选择姓名| | | |年龄”;
List employees=jdbcTemplate.queryForList(sql,String.class,18);
最终StringBuilder sb=新StringBuilder();
ResultsTextRactor rse=新的ResultsTextRactor(){
@凌驾
公共字符串提取数据(ResultSet rs)引发SQLException、DataAccessException{
while(rs.next()){
对于(int i=1;i
final StringBuilder sb=new StringBuilder();
ResultsTextRactor rse=新的ResultsTextRactor(){
@凌驾
公共字符串提取数据(ResultSet rs)引发SQLException、DataAccessException{
while(rs.next()){
对于(int i=1;i
String sql = "SELECT name || ';' || age FROM EMPLOYEE WHERE age >= ?";
List<String> employees = jdbcTemplate.queryForList(sql, String.class, 18);
        final StringBuilder sb = new StringBuilder();

        ResultSetExtractor rse = new ResultSetExtractor() {
            @Override
            public String extractData(ResultSet rs) throws SQLException, DataAccessException {
                while (rs.next()) {
                    for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
                        sb.append(rs.getObject(i));
                    }
                    sb.append("\n");
                }

                return sb.toString();
            }
        };

 jdbcTemplate.query(sql, 18, rse);