java 对数据库访问 spring的JdbcTemplate和apache的Dbutils

 

apache的commons-dbutils包里:

org.apache.commons.dbutils.QueryRunner

可以方便地通过jdbc访问数据库,用法:

QueryRunner runner = new QueryRunner(dataSource);

一些方法如下:

public int[] batch(String sql, Object[][] params); //批量更新

 

public <T> T query(String sql, Object param, ResultSetHandler<T> rsh); //带一个参数的查询,

其中ResultSetHandler是一个接口,要实现public T handle(ResultSet rs) 的方法,对数据处理

 

public <T> T query(String sql, Object[] params, ResultSetHandler<T> rsh) //带多个参数的查询

 

public int update(String sql) //更新操作

 

public int update(String sql, Object... params) //带参数的更新

 

apache的QueryRunner的方法都比较简单明了,不过多数要自己实现对数据处理的接口,个人感觉代码相对用Spring的JdbcTemplate要多点代码

 

Spring的JdbcTemplate类,在org.springframework包内,

 

org.springframework.jdbc.core.JdbcTemplate

构造方法也是:JdbcTemplate queryer = new JdbcTemplate(ds);

 

public void execute(final String sql) //执行sql语句,一般是ddl

 

public int[] batchUpdate(final String[] sql)  //批量执行sql语句

 

public int[] batchUpdate(String sql, final BatchPreparedStatementSetter pss) //批量执行,通过pss接口设置参数

 

查询方法有很多,例如:

public Object query(String sql, Object[] args, int[] argTypes, ResultSetExtractor rse);

 

public void query(PreparedStatementCreator psc, RowCallbackHandler rch);

 

public void query(String sql, Object[] args, RowCallbackHandler rch);

 

也提供了一些已封装好的方法:

queryForInt, queryForMap, queryForObject,但要注意当返回数据量为0时,会抛异常

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值