数据库连接池为什么会出现空指针异常

大家都叫我罗老板 2020-02-12 08:34:34


String sql = "select * from user where username=? and password = ?";
User user = template.queryForObject(sql, new BeanPropertyRowMapper<User>(User.class), loginUser.getUsername(), loginUser.getPassword());

不懂BeanPropertyRowMapper<User>(User.class)的作用。
...全文
953 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
看看是否正确连接到数据库
Hang_cc 2020-05-21
  • 打赏
  • 举报
回复
我也是空指针异常 难搞哦 上戏理我一下
  • 打赏
  • 举报
回复
找出问题了,是以为JDBCUtils工具类对DateSource的赋值出现问题,在创建template的时候传入DataSource,导致template虽然创建,但是不能正确连接到数据库。
New1丶 2020-02-13
  • 打赏
  • 举报
回复
BeanPropertyRowMapper<User>(User.class) 你可以理解为是一个数据模型, 将你这条sql查到的数据 按你规定的这个User数据模型,封装成一个User对象 所以你这个queryForObject的方法返回值类型才是一个User 出现空指针 问题是这次查询 不一定返回的是null 有可能返回的是一个空行的结果(你可以当成一个小bug), 解决方案可以是: 直接try-catch 这条 查询语句 如果抛出空指针 直接将user 赋值为null 也就是无论查询到空行数据还是无数据,最终结果都是null

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧