java中jdbcTemplate的queryForList(坑)

网友投稿 277 2022-09-27


java中jdbcTemplate的queryForList(坑)

jdbcTemplate 中的queryForList,你真的懂吗?

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

String sql = "select * from person";

List&ltTASrvWilQ;Person> persons = jdbcTemplate.queryForList(sql, Person.class);

然后,你很激动的点了run

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

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

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

真相只有一个:

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

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

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

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

String sql = "select id from person";

List ids = jdbcTemplate.queryForList(sql, Integer.class);

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:50-高级路由:BGP community属性:no-export(路由器1950)
下一篇:49-高级路由:BGP community属性:no-advertise(路由优先级255)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~