java中jdbcTemplate的queryForList(坑)
jdbcTemplate 中的queryForList,你真的懂吗?
你想象中的queryForList是不是应该长成下面这种模样?
String sql = "select * from person"; List<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<Integer> ids = jdbcTemplate.queryForList(sql, Integer.class);
返回id这一列,就可以用queryForList 这个list是所有id的集合
到此这篇关于java中jdbcTemplate的queryForList(坑)的文章就介绍到这了,更多相关jdbcTemplate queryForList内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
如何解决Spring in action @valid验证不生效的问题
这篇文章主要介绍了如何解决Spring in action @valid验证不生效的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-06-06解决jasperreport导出的pdf每页显示的记录太少问题
这篇文章主要介绍了解决jasperreport导出的pdf每页显示的记录太少问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-06-06Java获取项目路径方式System.getProperty(“user.dir“)
这篇文章主要介绍了Java获取项目路径方式System.getProperty(“user.dir“),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-12-12三分钟读懂mybatis中resultMap和resultType区别
这篇文章主要给大家介绍了mybatis中resultMap和resultType区别的相关资料,resultType和resultMap都是mybatis进行数据库连接操作处理返回结果的,需要的朋友可以参考下2023-07-07
最新评论