BeanPropertyRowMapper
转自(http://www.blogjava.net/cmzy/archive/2008/09/11/228271.html)
今天看SpringAPI的时候无意中发现了Spring2.5新增了一个RowMapper的实现类org.springframework.jdbc.core.BeanPropertyRowMapper,但是貌似Spring的refrence里面根本就没提及到。Google了一下……貌似也莫得多少文档。
Spring API Doc的说明如下:
RowMapper implementation that converts a row into a new instance of the specified mapped target class. The mapped target class must be a top-level class and it must have a default or no-arg constructor.
Column values are mapped based on matching the column name as obtained from result set metadata to public setters for the corresponding properties. The names are matched either directly or by transforming a name separating the parts with underscores to the same name using "camel" case.
Mapping is provided for fields in the target class for many common types, e.g.: String, boolean, Boolean, byte, Byte, short, Short, int, Integer, long, Long, float, Float, double, Double, BigDecimal, java.util.Date, etc.
To facilitate mapping between columns and fields that don't have matching names, try using column aliases in the SQL statement like "select fname as first_name from customer".
Please note that this class is designed to provide convenience rather than high performance. For best performance consider using a custom RowMapper.
也就说,它可以把ResultSet和实体类的字段进行实现自动映射。
分享到:
相关推荐
使用Spring的JdbcTemplate和BeanPropertyRowMapper完成的JDBC我的实例 博文链接:https://zmx.iteye.com/blog/373454
又比如JdbcTemplate 可以帮忙把一个查询结果传化为一个对象列表,但是你需要查阅一些资料才知道要用 BeanPropertyRowMapper 。如果下次要用的时候又忘记了这个类,又要查一次或者翻以前的代码来看,其实完全可以提供...
在Java开发中,Mybatis作为一款轻量级的持久层框架,被广泛应用于数据库操作。在处理复杂的数据库关联关系时,比如一对一、一对多、多对一、多对多等,Mybatis提供了灵活的映射机制。本篇将详细讲解如何在Mybatis中...
本文将深入探讨JDBC Template的源码,结合MySQL数据库,展示其在实际应用中的使用,并提及Spring框架中的`PropertyPlaceholderConfigurer`和`BeanPropertyRowMapper`组件。 首先,JDBC Template通过预编译SQL语句、...
查询所有的内容,封装为对象用:template.query(sql, new BeanPropertyRowMapper<对象>(对象.class)); 查询需要使用聚合函数的内容,如:select count(id)from account用:template.queryForObject(sql)
3. **结果集处理**:对于查询操作,JdbcTemplate可以将结果集映射到Java对象,这通常通过实现RowMapper接口或使用BeanPropertyRowMapper类来完成。RowMapper允许自定义对象映射逻辑,而BeanPropertyRowMapper则会...
4. **结果集处理**:对于查询操作,JDBCTemplate可以将结果集转换为Java对象,通过RowMapper、ResultSetExtractor或BeanPropertyRowMapper等工具类实现。 5. **事务管理**:JDBCTemplate与Spring的...
return secondaryJdbcTemplate.query(sql, new BeanPropertyRowMapper(User.class)); } } ``` 此外,项目中可能还包含了`springboot_jpa_moreDB`这个子模块,暗示着除了JdbcTemplate之外,还使用了Spring Data ...
在这里,使用了`BeanPropertyRowMapper`,它会根据对象属性自动将数据库列值映射到对应的Java对象属性上。 `addOrUpdateOrDelete` 方法则调用了`JdbcTemplate`的`update`方法来执行DML语句(INSERT, UPDATE, DELETE...
List<User> userList = getJdbcTemplate().query(sql, new BeanPropertyRowMapper(User.class), primaryKeyId); if(userList.size() == 0) { return null; } return userList.get(0); } @Override public ...
`BeanPropertyRowMapper`负责将`ResultSet`中的每一行转换为一个`User`对象,从而实现了数据库数据到Java对象的无缝转换。 #### 总结 Spring JDBC通过`JdbcTemplate`提供了对JDBC操作的高级抽象,大大简化了数据库...
例如,findAll()方法通过执行SQL查询并利用BeanPropertyRowMapper将结果转换为User对象列表。loginCheck()方法则根据用户名和密码执行特定查询,并处理可能出现的异常,如果未找到匹配的用户,则返回null。 实验中...
你可以自定义RowMapper实现,也可以使用`BeanPropertyRowMapper`或`ResultSetExtractor`简化映射过程。 4. **批处理操作**: - 对于批量插入或更新,Spring JDBC提供了`batchUpdate()`方法,可以有效地提高性能。 ...
return jdbcTemplate.query(sql, new BeanPropertyRowMapper(User.class)); } // other CRUD method implementations } ``` 5. **Service层** Service层封装了业务逻辑,调用DAO层进行数据操作。例如...
结果映射是JdbcTemplate的一个关键特性,可以通过实现RowMapper接口自定义映射规则,或者使用BeanPropertyRowMapper自动将结果映射到Java Bean。 7. **事务管理** JdbcTemplate可以配合...
此外,还可以使用POJO(Plain Old Java Object)和BeanPropertyRowMapper,直接将结果集转换为Java Bean。 **6. 数据库元信息** Spring JDBC提供DatabaseMetaDataUtils工具类,可以获取数据库的元信息,如表结构、...
new BeanPropertyRowMapper(User.class) ); ``` 在事务管理方面,`JdbcTemplate`提供了事务的开始、提交和回滚操作,适用于需要自动事务控制的场景。例如: ```java jdbcTemplate.execute(() -> { jdbcTemplate....
3. **映射结果到模型**:JdbcTemplate提供了多种方式将查询结果映射到Java对象,如BeanPropertyRowMapper、RowMapper接口等。你可以根据需求选择合适的方式。 4. **返回视图**:Controller处理完请求后,将Model...
new BeanPropertyRowMapper(User.class)); ``` 在上面的例子中,我们创建了一个`MapSqlParameterSource`对象,用于存储命名参数及其值。然后,我们使用`NamedParameterJdbcTemplate`的`query`方法执行查询,其中...