通过允许spring自动检测与列匹配的数据成员的名称,是否可以在不创建映射器的情况下填充对象(pojo)?我期待有类似于 SimpleJdbcInsert 的东西,我在其中使用如下:
new SimpleJdbcInsert(dataSource).withTableName("actors").execute(new BeanPropertySqlParameterSource(actor));
谢谢!
通过允许spring自动检测与列匹配的数据成员的名称,是否可以在不创建映射器的情况下填充对象(pojo)?我期待有类似于 SimpleJdbcInsert 的东西,我在其中使用如下:
new SimpleJdbcInsert(dataSource).withTableName("actors").execute(new BeanPropertySqlParameterSource(actor));
谢谢!
根据您使用的 Spring 版本,您可以使用BeanPropertyRowMapper,它将列映射到 POJO 中的变量。它将映射直接匹配或将下划线样式数据库名称转换为 Java 类中的驼峰式样式变量名称。
您正在使用 SimpleJdbcInsert,我认为您的意思是 SimpleJdbcTemplate 重新运行结果?
好的方法是使用 Spring JDBC 中的 RowMapper 或 ResultSetExtractor。
但是您可以使用 SimpleJdbcTemplate 中的 queryForMap 方法跳过包装器,并使用方法 populate(Object bean, Map properties) 将结果从 apache commons beanutils 传递到 BeanUtils 中。
尽管如此,我认为最好的解决方案是 RowMapper 或 ResultSetExtractor。
老实说,我不知道spring,但是使用来自apache的Bean common utils很容易实现一个通用的JDBC模板来做到这一点。