作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个 DAO 应用程序,我想获取区域数据。我已经编写了自己的映射器类。我无法获取值。它抛出异常。
映射器类
public class zoneMapper implements RowMapper {
@Override
public Object mapRow(ResultSet resultSet, int rowNum) throws SQLException {
ZoneBean zone=new ZoneBean();
zone.setZoneId(resultSet.getInt("ZONE_ID"));
zone.setZoneName(resultSet.getString("ZONE_NAME"));
return zone;
}
dao 调用
List<ZoneBean> zoneList=new ArrayList<ZoneBean>();
try {
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
zoneList = (List<ZoneBean>) jdbcTemplate.queryForObject(
queriesConstants.GET_ZONES, new zoneMapper());
}catch(Exception e){
System.out.println("getZones "+e.getMessage());
//logger.error("getZones "+e.getMessage());
}
**Exception is**
getZones Incorrect result size: expected 1, actual 17
最佳答案
getZones Incorrect result size: expected 1, actual 17
执行查询时,您会检索多个元素。
public <T> T queryForObject(String sql, RowMapper<T> rowMapper)
因此不适合您的需要,因为它执行给定静态 SQL 的查询,通过 RowMapper 将单个结果行映射到 Java 对象。
你应该使用这种方法:
public <T> List<T> query(String sql, RowMapper<T> rowMapper)
它执行给定静态 SQL 的查询,通过 RowMapper将每一行映射到 Java 对象。
关于java - 自定义映射器类没有得到结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40819670/
我刚开始使用 Dagger 2,想知道与我目前用来实现依赖注入(inject)的技术相比,它有什么优势。 目前,为了实现 DI,我创建了一个具有两种风格的项目:mock 和 prod。在这些风格中,我
我是一名优秀的程序员,十分优秀!