更好的方法是使用JdbcTemplate检索多行的列列方式数据

时间:2018-02-16 06:10:51

标签: java spring spring-batch

我希望使用ArrayList对象从DB表中获取列式数据(每个列数据的JdbcTemplate),其中包含多行,例如100行。 我尝试了下面的代码片段

Qry = "SELECT * FROM EMPLOYEE";
List<Employee> listData= jdbcTemplate.query(Qry,
            new BeanPropertyRowMapper<Employee>(Employee.class));

使用上面的代码,我可以获得List<Employee>并为每个列创建ArrayList个对象,并在每次迭代时插入到该对象中,但不幸的是我有35列。 那么我能得到更好的解决方案。

1 个答案:

答案 0 :(得分:1)

您可以使用ResultSetExtractor来实现此目的,只需提供一个小片段

JdbcTemplate jdbcTemplate = new JdbcTemplate();
    jdbcTemplate.query(Qry, new ResultSetExtractor() {

        @Override
        public Object extractData(ResultSet resultSet) throws SQLException, DataAccessException {
            resultSet.getArray(int columnIndex); //use this array or convert to List if you need
        }
    });

你需要把这个转发

希望这有帮助!

祝你好运!