首页 > 解决方案 > 如何在 JdbcTemplate 中自动将行映射到类?

问题描述

在 out 项目中,我们使用了 spring-jdbc 依赖项。我们有超过 300 个领域的课程。

class Test {
   String test;
   String testTest;
   String testTestTest;
   ... // and another 300 fields
}

我们有 bean 作为 NamedParameterJdbcTemplate。我们试图得到结果:

jdbcTemplate.query(sqlSelect, sqlParameters, new TestRowMapper());
...
private static class TestRowMapper implements RowMapper<Test> {

        @Override
        public Test mapRow(ResultSet resultSet, int i) throws SQLException {
            Test test = new Test();
            test.setTest(resultSet.getString("test"));
            test.setTestTest(resultSet.getString("test_test"));
            test.setTestTestTest(resultSet.getString("test_test_test"));
        ...
...

类中的所有字段都与表匹配,除了一条规则:“大写字母替换为下划线”。我们也知道这可以使用 apache/commons-dbutils 来完成。例子:

User user = queryRunner.query("select user_id,user_name,user_age,create_time from user_info where user_id=1",
        new BeanHandler<User>(User.class, new BasicRowProcessor(new GenerousBeanProcessor())));

但是spring jdbc有办法吗?

标签: spring-jdbc

解决方案


推荐阅读