java - 春季启动,jdbcTemplate,Java
问题描述
我有一个从数据库中获取一列行的查询,我想将此数据设置为我的模型。我的模型名称是图片,我的方法如下:
@Override
public Pictures getPictureList() throws Exception {
JdbcTemplate jdbc = new JdbcTemplate(datasource);
String sql= "select path from bakery.pictures where id=1";
Pictures pcList = jdbc.query(sql, new BeanPropertyRowMapper<Pictures>(Pictures.class));
return pcList;
}
此方法返回“查询被推断到列表”。我该如何解决?
解决方案
使用JdbcTemplate.queryForObject()
方法通过它的主键检索单行。
Pictures p = jdbc.queryForObject(sql,
new BeanPropertyRowMapper<Pictures>(Pictures.class));
JdbcTemplate.query()
如果您通过主键查询,将返回多行,这没有什么意义。
List<Pictures> list = jdbc.query(sql,
new BeanPropertyRowMapper<Pictures>(Pictures.class));
Picture p = list.get(0);