Spring中JdbcTemplate中使用RowMapper
来源:互联网 发布:linux求平均值 编辑:程序博客网 时间:2024/05/29 16:30
sping中的RowMapper可以将数据中的每一行数据封装成用户定义的类.
我们在数据库查询中,如果返回的类型是用户自定义的类型(其实我们在数据库查询中大部分返回的都是自定义的类)则需要包装,如果是Java自定义的类型,如:String则不需要.
如果sping与hibernate 相结合了,基本上是用不到,大多数都是在spring单独使用时用到.
可以通过建立内部类实现RowMapper接口,RowMapper中有一个mapRow方法,所以实现RowMapper接口一定要实现mapRow方法,而对自定义类的包装就在mapRow方法中实现.
package com.cxl.demo.dao; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import com.cxl.demo.entity.User; public class UserDaoImpl { private JdbcTemplate jdbcTemplate; public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } public List<User> getUserByName(String username) { String sql = "select * from t_user where username = ?"; Object[] params = new Object[] { username }; List<User> users = null; /** * 使用接口实现类 */ users = jdbcTemplate.query(sql, params, new UserRowMapper()); /** * 使用匿名内部类 * 如果UserRowMapper类只使用一次,单独为其创建一个类多余,可以使用匿名类 * 省略了书写一个实现类 */ users = jdbcTemplate.query(sql, params, new RowMapper<User>() { @Override public User mapRow(ResultSet rs, int rowNum) throws SQLException { User user = new User(); user.setId(rs.getInt("id")); user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); return user; } }); return (users != null && users.size() > 0) ? users : null; } public class UserRowMapper implements RowMapper<User> { @Override public User mapRow(ResultSet rs, int rowNum) throws SQLException { User user = new User(); user.setId(rs.getInt("id")); user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); return user; } } }
1 0
- Spring中JdbcTemplate中使用RowMapper
- Spring中JdbcTemplate中使用RowMapper
- 在Spring中JdbcTemplate中使用RowMapper
- jdbcTemplate中 RowMapper使用
- Spring中JdbcTemplate使用RowMapper(简单明了的代码)
- 使用SPRING 中ROWMAPPER
- Spring 查询中怎样使用RowMapper
- JdbcTemplate中RowMapper的粗浅理解
- Spring 使用JdbcTemplate类实现批量查询(RowMapper)
- Spring JdbcTemplate RowMapper vs ResultSetExtractor
- Spring中JdbcTemplate的使用
- spring中JDBCTemplate的使用
- spring 中JdbcTemplate的使用
- spring中JdbcTemplate的使用
- Spring中JdbcTemplate的使用
- spring boot中使用JdbcTemplate
- JDBC:Spring框架中JDBCTemplate的使用
- spring中jdbctemplate的使用以及c3p0
- android ViewGroup学习
- javascript,Jquery获取屏幕宽度和高度方法
- EasyUI window窗口防止越界问题
- 心跳保活---TeamTalk心跳保活机制分析
- html 固定底部存在滚动条 初始化时可以Scroll顶部
- Spring中JdbcTemplate中使用RowMapper
- Java集合框架的使用
- js 滑动滚动条时进行刷新列表
- js tooltip用于验证输入方法
- MySQL技术内幕:InnoDB存储引擎读书笔记(中)
- android LayoutParams的用法
- 字符串处理类StringUtil
- android ViewRoot学习,WindowManager和ViewRoot的关系
- 编译zigbee_IOT_gw_JN-AN-1194可能遇到的问题