JdbcTemplate

1、使用JdbcTemplate的execute()方法执行SQL语句 

  1. jdbcTemplate.execute("CREATE TABLE USER (user_id integer, name varchar(100))");  


 

2、如果是UPDATE或INSERT,可以用update()方法。

  1. jdbcTemplate.update("INSERT INTO USER VALUES('"  
  2.            + user.getId() + "', '"  
  3.            + user.getName() + "', '"  
  4.            + user.getSex() + "', '"  
  5.            + user.getAge() + "')");  

3、带参数的更新 

jdbcTemplate.update("UPDATE USER SET name = ? WHERE user_id = ?"new Object[] {name, id}); 

  1. jdbcTemplate.update("INSERT INTO USER VALUES(?, ?, ?, ?)"new Object[] {user.getId(), user.getName(), user.getSex(), user.getAge()});  

4、使用JdbcTemplate进行查询时,使用queryForXXX()等方法 

int count = jdbcTemplate.queryForInt("SELECT COUNT(*) FROM USER");

String name = (String) jdbcTemplate.queryForObject("SELECT name FROM USER WHERE user_id = ?"new Object[] {id}, java.lang.String.class); 

List rows = jdbcTemplate.queryForList("SELECT * FROM USER");

  1. List rows = jdbcTemplate.queryForList("SELECT * FROM USER");  
  2. Iterator it = rows.iterator();  
  3. while(it.hasNext()) {  
  4.     Map userMap = (Map) it.next();  
  5.     System.out.print(userMap.get("user_id") + "\t");  
  6.     System.out.print(userMap.get("name") + "\t");  
  7.     System.out.print(userMap.get("sex") + "\t");  
  8.     System.out.println(userMap.get("age") + "\t");  
  9. }  

 

5.JDBC的PreparedStatement 

  1. final String id = user.getId();  
  2. final String name = user.getName();  
  3. final String sex = user.getSex() + "";  
  4. final int age = user.getAge();  
  5.   
  6. jdbcTemplate.update("INSERT INTO USER VALUES(?, ?, ?, ?)",  
  7.                      new PreparedStatementSetter() {  
  8.                          public void setValues(PreparedStatement ps) throws SQLException {  
  9.                              ps.setString(1, id);  
  10.                              ps.setString(2, name);            
  11.                              ps.setString(3, sex);  
  12.                              ps.setInt(4, age);  
  13.                          }  
  14.                      }); 
  1. final User user = new User();  
  2. jdbcTemplate.query("SELECT * FROM USER WHERE user_id = ?",  
  3.                     new Object[] {id},  
  4.                     new RowCallbackHandler() {  
  5.                         public void processRow(ResultSet rs) throws SQLException {  
  6.                             user.setId(rs.getString("user_id"));  
  7.                             user.setName(rs.getString("name"));  
  8.                             user.setSex(rs.getString("sex").charAt(0));  
  9.                             user.setAge(rs.getInt("age"));  
  10.                         }  
  11.                     });  

 

  1. class UserRowMapper implements RowMapper {  
  2.     public Object mapRow(ResultSet rs, int index) throws SQLException {  
  3.         User user = new User();  
  4.   
  5.         user.setId(rs.getString("user_id"));  
  6.         user.setName(rs.getString("name"));  
  7.         user.setSex(rs.getString("sex").charAt(0));  
  8.         user.setAge(rs.getInt("age"));  
  9.   
  10.         return user;  
  11.     }  
  12. }  
  13.   
  14. public List findAllByRowMapperResultReader() {  
  15.     String sql = "SELECT * FROM USER";  
  16.     return jdbcTemplate.query(sql, new RowMapperResultReader(new UserRowMapper()));  
  17. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值