服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - java中jdbcTemplate的queryForList(坑)

java中jdbcTemplate的queryForList(坑)

2021-12-30 12:17qq_29914229 Java教程

本文主要介绍了java中jdbcTemplate的queryForList,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

jdbcTemplate 中的queryForList,你真的懂吗?

你想象中的queryForList是不是应该长成下面这种模样?

String sql = "select * from person";
List<Person> persons = jdbcTemplate.queryForList(sql, Person.class);

然后,你很激动的点了run

java中jdbcTemplate的queryForList(坑)

程序跑出来一个,你做梦都想不到的东西,不是list吗?为什么expected是1?

我总共7条数据啊,为什么actual 4?

我还小,为什么没要让我经历这些? 

真相只有一个:

java中jdbcTemplate的queryForList(坑)

传了对应class的,创建的是singleColumnRowMapper,也就是只取一列的值,再看看文档注释

java中jdbcTemplate的queryForList(坑)

你一看就是用多了ORM框架吧,这玩意不支持自定义bean勒,这个class也只是支持Integer,String这些基本类型

现在明白except 1,actual 4 是啥意思了吧?

人家期望返回的是一列,但是你返回的了4列,还没明白?  那我举个例子

String sql = "select id from person";
List<Integer> ids = jdbcTemplate.queryForList(sql, Integer.class);

返回id这一列,就可以用queryForList  这个list是所有id的集合

到此这篇关于java中jdbcTemplate的queryForList(坑)的文章就介绍到这了,更多相关jdbcTemplate queryForList内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_29914229/article/details/105000640

延伸 · 阅读

精彩推荐