黑马程序员技术交流社区

标题: JdbcTemplate的学习 [打印本页]

作者: coqns    时间: 2012-12-12 09:36
标题: JdbcTemplate的学习
Spring框架中提供了一个JdbcTemplate工具类,它对JDBC API进行了很好的封装,这个类其实跟我们自己对JDBC进行封装一样,但是代码更加健壮,功能更加强大,且没有太大的性能区别。要想使用这个工具类,需要从spring开发包中导入spring.jar和commons-logging.ar包以及在代码中获取数据源。自己写了个简单的JdbcTemplate入门Demo

获取数据源代码+简单的CURE示例
  1. package com.springmvc.dao;

  2. import java.util.List;

  3. import javax.sql.DataSource;

  4. import org.springframework.jdbc.core.BeanPropertyRowMapper;
  5. import org.springframework.jdbc.core.JdbcTemplate;
  6. import org.springframework.stereotype.Repository;

  7. import com.springmvc.pojo.Test;

  8. @Repository
  9. public class TestDao {
  10.    
  11.     //封装数据源和JdbcTemplate
  12.     private DataSource dataSource;
  13.     private JdbcTemplate jdbcTemplate;
  14.    
  15.     public DataSource getDataSource() {
  16.         return dataSource;
  17.     }

  18.     public void setDataSource(DataSource dataSource) {
  19.         this.dataSource = dataSource;
  20.         this.jdbcTemplate=new JdbcTemplate(dataSource);
  21.     }

  22.     public JdbcTemplate getJdbcTemplate() {
  23.         return jdbcTemplate;
  24.     }

  25.     public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
  26.         this.jdbcTemplate = jdbcTemplate;
  27.     }
  28.    
  29.     //增
  30.     public void addTest(Test t){
  31.         String sql="insert into test(userName,passWord,addTime) values (?,?,?)";
  32.         Object[] params=new Object[]{
  33.             t.getUserName(),
  34.             t.getPassWord(),
  35.             t.getAddTime()
  36.         };
  37.         jdbcTemplate.update(sql,params);
  38.     }
  39.    
  40.     //删
  41.     public void deleteTest(int id){
  42.         String sql="delete from test where id=?";
  43.         jdbcTemplate.update(sql,id);
  44.     }
  45.    
  46.     //改
  47.     public void updateTest(Test t){
  48.         String sql="update test set userName=?,passWord=? where id=?";
  49.         Object[] params=new Object[]{
  50.             t.getUserName(),
  51.             t.getPassWord(),
  52.             t.getId()
  53.         };
  54.         jdbcTemplate.update(sql,params);
  55.     }
  56.    
  57.     //查
  58.     public Test queryTest(int id){
  59.         String sql="select * from test where id="+id;
  60.         Test test=jdbcTemplate.queryForObject(sql,Test.class);
  61.         return test;
  62.     }
  63.    
  64.     //多条查询
  65.     public List queryAll(){
  66.         String sql="select id,userName,passWord,date_format(addTime,'%Y年%m月%d日 %H点%i分%s秒') as addTime from test";
  67.         List<Test> list=jdbcTemplate.query(sql, BeanPropertyRowMapper.newInstance(Test.class));
  68.         return list;
  69.     }
  70.    
  71. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2