小码农的代码(一)----------SpringJDBC的使用



今年年初遇到一个对接ERP与WMS的项目,只做后端数据同步,不进行页面展示,简而言之就是我们接收ERP http请求传送过来的数据然后转存到自己的数据库并将数据同步到WMS系统的数据库中,(ps:我也比较奇怪为什么不直接用http请求进行对接,而来中间再转存一次)。由于项目较小又不需要前端展示就直接只用SpringJDBC进行数据库操作,项目涉及的内容包括http请求接口的开发、多数据库操作,本文先拉出来整理下SpringJDBC的直接使用。

SpringJDBC的使用目前来看非常简单,主要就是三个步骤。 
一、maven加载所需要的jar包; 
一、Spring配置文件进行数据源与jdbctemple的配置; 
二、直接在数据访问层使用。 
以下是spring配置文件的内容: 

伦理片 http://www.dotdy.com/

这里的注意点在于spring的数据源配置,不直接使用DriverManagerDataSource的原因是由于其没有实现连接池的机制,因此使用C3P0,这时需要加载c3p0的支持JAR包; 
另外在数据访问层进行数据操作时如下: 

  1. public class BaseDaoImpl implements BaseDao{  
  2.   
  3.     @Autowired  
  4.     private JdbcTemplate jdbcTemplate;  
  5.       
  6.     /** 
  7.      * sql = "insert into user (name,age) values(?,?)" 
  8.      * */  
  9.     public void addBySql(String sql,final Object[] params) {  
  10.         //--------------methods01------------------------------------//  
  11.         jdbcTemplate.execute(sql);  
  12.         //-----------------or methods02------------------------------//  
  13.         //just like updateBySql  
  14.     }  
  15.   
  16.     /** 
  17.      * sql = “update table_name set name=?,age=?” 
  18.      * */  
  19.     public void updateBySql(String sql,final Object[] params) {  
  20.         //--------------methods01------------------------------------//  
  21.         jdbcTemplate.update(sql,  
  22.                 new PreparedStatementSetter() {  
  23.                     public void setValues(PreparedStatement ps)  
  24.                             throws SQLException {  
  25.                         ps.setInt(1, Integer.parseInt(params[0].toString()));  
  26.                     }  
  27.                 });       
  28.         //-----------------or methods02------------------------------//  
  29.         //jdbcTemplate.update(sql, params);  
  30.     }  
  31.   
  32.     /** 
  33.      * sql = "delete user where id =? and name = ?;" 
  34.      * */  
  35.     public void deleteBySql(String sql,final Object[] params) {  
  36.         //----------just like update---------------//  
  37.         jdbcTemplate.update(sql, params);  
  38.     }  
  39.   
  40.     /** 
  41.      * RowMapper接口封装返回集合,可自定义 
  42.      * */  
  43.     public List<UserEntity> getQueryBySql(String sql) {  
  44.         return (List<UserEntity>) jdbcTemplate.query(sql,  
  45.                 new BeanPropertyRowMapper<UserEntity>(UserEntity.class));  
  46.     }  
  47.   
  48.       
  49. }  
因为Spring配置文件中已经配置,可以直接依赖注入jdbcTemplate; 
另外也可以继承JdbcDaoSupport类,来使用jdbcTemplate,
Java代码   收藏代码
  1. public class BaseDaoImpl2 extends JdbcDaoSupport implements BaseDao{  
  2.   
  3.       
  4.     public void addBySql(String sql,final Object[] params) {  
  5.         this.getJdbcTemplate().update(sql);  
  6.     }  
  7. }  
  影音先锋电影 http://www.iskdy .com/。 
这两个类进一步论证 一个接口可以有多个实现类,谁实例化则调用哪个实现类中的方法。 
具体的代码例子与测试文件可以下载附件参考,欢迎大家斧正。 
另外对于jdbcTemplate的事务控制就是使用Spring对于事务的控制,具体内容会在后续文章中补充说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值