Spring中JdbcTemplate使用RowMapper(简单明了的代码)

来源:互联网 发布:seo搜索引擎优化 遵义 编辑:程序博客网 时间:2024/05/20 06:07

http://cxl2012.iteye.com/blog/1969394

Java代码  收藏代码
  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.     }  


0 0
原创粉丝点击