未经检查的jdbcTemplate.query()转换?

时间:2013-04-02 02:27:06

标签: java spring jdbctemplate

关于JdbcTemplate,我正在使用此代码来检索结果集:

List<Book> bookList = jdbcTemplate.query(
                constructQueryStatement(), 
                new Object[] {row_start, row_end}, 
                new BookRowMapper());

无论如何,上面的代码给了我这个警告:

Type safety: The expression of type List needs unchecked conversion to conform to List<Book>

我认为此警告来自jdbcTemplate.query()返回Type未知的List<Book>列表。有没有办法在使用@SuppressWarnings 'unchecked'旁边发出此警告?

2 个答案:

答案 0 :(得分:3)

如果升级到Spring 3.0或更高版本,则JdbcTemplate.query()和RowMapper都已参数化。因此,您将能够充分利用泛型,而不会收到任何编译器警告。

答案 1 :(得分:1)

为我工作。

我使用BeanPropertyRowMapper

我不喜欢使用@SuppressWarnings'unchecked',如果真的需要。

List<Book> resultList  = jdbcTemplate.query(sql.toString(), new BeanPropertyRowMapper<Book>(Book.class));
if (!resultList.isEmpty()) {
        return resultList;
}
return null;

结果:对象簿列表。