java - 将查询结果映射到 Java 中的 POJO 构造函数

标签 java database orm

我有一组 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/

相关文章:

php - 仅当字段为空时更新

java - 导入 PhotoView?

重复键的 Java 8 流总和条目

java - 如何使用android sqlite数据库更新一行中的多列?

php - 如何存储/关联每个模型的用户特定数据(状态?)

java - 映射同类关系

java - 我应该如何处理对象关系映射中对象的删除

java - 枚举 toString() 覆盖

java - 上下文参数值不是字符串

python - 在python中存储面部编码列表以进行面部识别