Spring中JdbcTemplate使用RowMapper

复制代码

 1 package com.cxl.demo.dao;  
 2   
 3 import java.sql.ResultSet;  
 4 import java.sql.SQLException;  
 5 import java.util.List;  
 6 import org.springframework.jdbc.core.JdbcTemplate;  
 7 import org.springframework.jdbc.core.RowMapper;  
 8 import com.cxl.demo.entity.User;  
 9 public class UserDaoImpl {  
10     private JdbcTemplate jdbcTemplate;  
11   
12     public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {  
13         this.jdbcTemplate = jdbcTemplate;  
14     }  
15   
16     public List<User> getUserByName(String username) {  
17         String sql = "select * from t_user where username = ?";  
18         Object[] params = new Object[] { username };  
19         List<User> users = null;  
20         /** 
21          * 使用接口实现类 
22          */  
23         users = jdbcTemplate.query(sql, params, new UserRowMapper());  
24         /** 
25          * 使用匿名内部类 
26          * 如果UserRowMapper类只使用一次,单独为其创建一个类多余,可以使用匿名类 
27          * 省略了书写一个实现类 
28          */  
29         users = jdbcTemplate.query(sql, params,  
30                 new RowMapper<User>() {  
31                     @Override  
32                     public User mapRow(ResultSet rs, int rowNum) throws SQLException {  
33                         User user = new User();  
34                         user.setId(rs.getInt("id"));  
35                         user.setUsername(rs.getString("username"));  
36                         user.setPassword(rs.getString("password"));  
37                         return user;  
38                     }  
39                 });  
40         return (users != null && users.size() > 0) ? users : null;  
41     }  
42       
43     public class UserRowMapper implements RowMapper<User> {  
44   
45         @Override  
46         public User mapRow(ResultSet rs, int rowNum) throws SQLException {  
47             User user = new User();  
48             user.setId(rs.getInt("id"));  
49             user.setUsername(rs.getString("username"));  
50             user.setPassword(rs.getString("password"));  
51             return user;  
52         }  
53           
54     }  
55 }
复制代码

 

posted @   低调的小白  阅读(9776)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示