我有一个包含一些字符串、整数和布尔字段的类。我为他们声明了 getter 和 setter。
public class SomeClass {
private int id;
private String description;
private boolean active;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public boolean isActive() {
return active;
}
public void setActive(boolean active) {
this.active = active;
}
}
我是 BeanPropertyRowMapper 从 Oracle DB 中获取所有对象。
@Override
public List<Destination> getAll() {
List<SomeClass> objs = jdbcTemplate.query(
myQuery, new BeanPropertyRowMapper<SomeClass>(SomeClass.class));
return objs;
}
如果调试已打开,我会看到:
[3/14/13 10:02:09:202 EDT] 00000018 SystemOut O DEBUG BeanPropertyRowMapper - Mapping column 'ID' to property 'id' of type int
[3/14/13 10:02:09:202 EDT] 00000018 SystemOut O DEBUG BeanPropertyRowMapper - Mapping column 'DESCRIPTION' to property 'description' of type class java.lang.String
然后它尝试映射活动失败。Active 定义为 DB 中的 1 字节 CHAR,其值为“Y”或“N”。使用 BeanPropertyRowMapper 并成功将“Y”和“N”等值转换为布尔值的最佳方法是什么?