【发布时间】:2016-08-22 06:46:00
【问题描述】:
我对何时需要使用对象映射器感到有些困惑。我认为它应该用于将结果集从 DB 查询映射到对象,所以我创建了一个像这样的对象映射器:
public class PersonMapper implements ResultSetMapper<Person>
{
public Person map(int index, ResultSet resultSet, StatementContext ctx) throws SQLException
{
Person person = new Person();
person.setPersonId(resultSet.getShort("PersonId"));
person.setPersonType((PersonType) resultSet.getObject("PersonType"));
person.setPersonName(resultSet.getString("PersonName"));
person.setPersonMobile(resultSet.getString("PersonMobile"));
return person;
}
}
然后我像这样使用特定的 DAO 注册它:@RegisterMapper(PersonMapper.class)
但是,即使我这样查询:List<Person> list = list(namedQuery("Person.findAll")); 返回一个正确的列表,似乎没有映射器也能正常工作。
那么我应该在什么时候使用映射器?
【问题讨论】:
标签: java jersey objectmapper