public List<AppUser> getAppUser(AppUser appUser) { String sql = "select * from appuser a where a.username='" + appUser.getUsername() + "' and a.password='" + appUser.getPassword() + "'"; List<AppUser> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<AppUser>(AppUser.class)); return list; }
需要注意的地方:
查询结果的列名必须与实体类的属性名一致
之前的错误理解:
在JdbcTemplate中有一个方法叫queryForObject, 天真的我以为这个方法传入实体类的class就可以查询出这个实体类的对象, 但实际是我错了, 仔细的用膝盖想了一下, 只能传入一个Object.class, 怎么可能返回多个对象呢 ?
解释:
queryForObject这个方法, 只能返回单行单列的查询结果, 而传入的这个参数, 只能是String.class, 或者是基础数据类型的class, 适用于count(*)的查询