1. 程式人生 > >jdbcTemplate.queryForList 錯誤 spring-org.springframework.jdbc.IncorrectResultSetColumnCountException

jdbcTemplate.queryForList 錯誤 spring-org.springframework.jdbc.IncorrectResultSetColumnCountException

在使用queryForList想要獲取一個List<T>時,使用jdbcTemplate.queryForList(Sql,T.class);

會報IncorrectResultSetColumnCountException錯誤,而使用

//SQL語句
String SQL_SELECT = "select * from stu;";

錯誤程式碼如下:

//錯誤程式碼 IncorrectResultSetColumnCountException: Incorrect column count: expected 1, actual 9
jdbcTemplate.queryForList(SQL_SELECT,Student.class);
//返回結果不符合預期 maps
List<Map<String, Object>> maps = jdbcTemplate.queryForList(SQL_SELECT, new BeanPropertyRowMapper<Student>());

自己想了半天沒想出來,後來再網上查了一些解決了問題:

//執行並返回結果
students = jdbcTemplate.query(SQL_SELECT,new BeanPropertyRowMapper<Student>(Student.class));

不使用他所提供的queryForList,自己使用query然後重寫BeanPropertyRowMapper,就能實現獲取List的方法了

如果有比這個更簡單的,希望你能教教我。