在学习JDBC时,使用下面的查询语句进行查询时报出了错误:
org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0
根据错误提示定位到了下面的语句:

Connection conn = JDBCUtils.getConnection();
        String sql = "select * from user where username = ? and password = ?";
        // 在数据库中根据条件查找匹配的对象,然后封装成user对象,若数据库中没有与条件匹配的,则user为null
        User user = template.queryForObject(sql, new BeanPropertyRowMapper<User>(User.class), loginuser.getUsername(), loginuser.getPassword());

其错误的意思是“期望查询出一个对象然后封装,但是实际上由于数据库中没有匹配的条件,导致查询了零个对象”,因此报错。
可以检查查询条件是否正确,或者给上面的代码加上try-catch语句。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐