1 1 package com.cxl.demo.dao; 2 2 3 3 import java.sql.ResultSet; 4 4 import java.sql.SQLException; 5 5 import java.util.List; 6 6 import org.springframework.jdbc.core.JdbcTemplate; 7 7 import org.springframework.jdbc.core.RowMapper; 8 8 import com.cxl.demo.entity.User; 9 9 public class UserDaoImpl { 1010 private JdbcTemplate jdbcTemplate; 1111 1212 public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { 1313 this.jdbcTemplate = jdbcTemplate; 1414 } 1515 1616 public List<User> getUserByName(String username) { 1717 String sql = "select * from t_user where username = ?"; 1818 Object[] params = new Object[] { username }; 1919 List<User> users = null; 2020 /** 2121 * 使用接口实现类 2222 */ 2323 users = jdbcTemplate.query(sql, params, new UserRowMapper()); 2424 /** 2525 * 使用匿名内部类 2626 * 如果UserRowMapper类只使用一次,单独为其创建一个类多余,可以使用匿名类 2727 * 省略了书写一个实现类 2828 */ 2929 users = jdbcTemplate.query(sql, params, 3030 new RowMapper<User>() { 3131 @Override 3232 public User mapRow(ResultSet rs, int rowNum) throws SQLException { 3333 User user = new User(); 3434 user.setId(rs.getInt("id")); 3535 user.setUsername(rs.getString("username")); 3636 user.setPassword(rs.getString("password")); 3737 return user; 3838 } 3939 }); 4040 return (users != null && users.size() > 0) ? users : null; 4141 } 4242 4343 public class UserRowMapper implements RowMapper<User> { 4444 4545 @Override 4646 public User mapRow(ResultSet rs, int rowNum) throws SQLException { 4747 User user = new User(); 4848 user.setId(rs.getInt("id")); 4949 user.setUsername(rs.getString("username")); 5050 user.setPassword(rs.getString("password")); 5151 return user; 5252 } 5353 5454 } 5555 }
Spring中JdbcTemplate使用RowMapper
Easter79
2021-10-12
1144 0 0
点赞
收藏
评论区
加载中...