我有一组 SQL 查询和一个带有构造函数的相应 POJO 对象。
例如。
Student student = new Student(rs.getString("FNAME"), rs.getString("LNAME"), rs.getString("GRADE"));
目前我正在手动将结果集中的列映射到字段。我想让这个通用,这样我就可以做类似 new Student(rs.getRow()) 的事情,然后我可以通过某种配置文件映射它。选择查询中可能有 N 个字段,并且顺序不一定与构造函数中定义的顺序匹配。
我想控制 SQL,因为它可能有很多连接,所以我不确定 ORM 是否可以在这里工作。我非常想要能够将结果集列映射到字段的东西。
我想在我的 Student 类中添加注释以进行映射
最佳答案
public class StudentRowMapper implements RowMapper<YourStudentPojo> {
@Override
public YourStudentPojo mapRow(final ResultSet rs, final int arg1) throws SQLException {
final YourStudentPojo item = new YourStudentPojo();
item.setFName(rs.getString("FNAME"));
return item;
}
与此 FName 类似,您可以在 pojo.xml 中设置其他值。不需要构造函数。只要你在Pojo中进行了更改,那么就必须在这个方法中进行相应的更改。
关于java - 将查询结果映射到 Java 中的 POJO 构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29439815/