我正在使用jodd框架,它为dboom
提供了很多实用工具。
我的问题是,我可以通过apache dbutils和jodd dboom模块对ResultSetHandler
这样的结果集进行简单的pojo映射吗?
sql查询:
select child.id as id, child.name as name, parent.name as parentCategoryName
from tblmcategory child left outer join tblmcategory parent
on parent.categoryId = child.parentCategoryId;`
和pojo就像
public class CategoryData implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private Long id;
private String name;
private String parentCategoryName;
//setter and getters method....
}
我可以将结果集映射到此pojo列表吗??
dao code ::
public <T> List<T> executeQuery1(String query, Class<T> clazz) throws DatabaseException {
try {
return jodd.db.oom.DbOomQuery.query(query).autoClose().list(clazz);
} catch (Exception e) {
e.printStackTrace();
throw new DatabaseException(e.getMessage());
}
}
从这里我得到列表中的正确计数,但它是空对象列表....
答案 0 :(得分:0)
请参阅Jodd DbOom Naming Strategies。在DbOoom中,可以注册或配置自己的命名策略,该策略定义如何将列名转换为bean名。在您的情况下,会发生这种情况:由于列表中有null
个对象,这意味着映射失败。
默认映射规则/约定如下:列名FOO_BAR
已转换为fooBar
。您正在使用不同的命名策略,其中列名称等于bean名称。
所以你可以做到以下几点: