用c3p0实现Apache—DBUtils框架的Dao层源码

用c3p0实现Apache—DBUtils框架的Dao层源码
分类: 课堂随笔 2011-11-22 20:43 484人阅读 评论(0) 收藏 举报

用c3p0实现Apache—DBUtils框架的Dao层源码

import java.sql.SQLException;

import java.util.Arrays;

import java.util.List;

import java.util.Map;



import org.apache.commons.dbutils.QueryRunner;

import org.apache.commons.dbutils.handlers.ArrayHandler;

import org.apache.commons.dbutils.handlers.ArrayListHandler;

import org.apache.commons.dbutils.handlers.BeanHandler;

import org.apache.commons.dbutils.handlers.BeanListHandler;

import org.apache.commons.dbutils.handlers.MapListHandler;



import com.hbsi.domain.User;

import com.hbsi.utils.DBManager_c3p0;



public class UserDaoImpl {

// 插入操作

public void insert() {

// 得到数据库连接池对象

QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

String sql = "insertinto users(name,password) values('liop','8988')";

try {

runner.update(sql);

} catch (SQLException e){

// TODOAuto-generated catch block

e.printStackTrace();

}

}



// 删除操作

public void delete() {

QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

String sql = "deletefrom users where id=1";

try {

runner.update(sql);

} catch (SQLException e){

// TODOAuto-generated catch block

e.printStackTrace();

}

}



// 更新操作

public void update() {

QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

String sql = "updateusers set name='老王',password=222 where id=3";

try {

runner.update(sql);

} catch (SQLException e){

// TODOAuto-generated catch block

e.printStackTrace();

}

}



// 通过Id查询操作

public void findById() {

QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

String sql = "select* from users where id=3";

BeanHandler rsh = newBeanHandler(User.class);

try {

User user =runner.query(sql, rsh);

System.out.println(user.toString());

} catch (SQLException e){

// TODOAuto-generated catch block

e.printStackTrace();

}

}



// 查询所有

public void findAll() {

QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

String sql = "select* from users";

BeanListHandler rsh = newBeanListHandler(User.class);



try {

List<User>entities = runner.query(sql, rsh);

System.out.println(entities.size());

for (User entity :entities) {

System.out.println(entity.toString());

}

} catch (SQLException e){

// TODOAuto-generated catch block

e.printStackTrace();

}

}



// 批处理

public void bath() {

QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

String sql = "insertinto users(name,password) values(?,?)";

Object[][] params = { {"aaa", "111" }, { "qqq", "222" },

{"www", "333" }, { "eee", "444" } };

try {

runner.batch(sql,params);

} catch (SQLException e){

// TODOAuto-generated catch block

e.printStackTrace();

}

}



// ArrayHandler的使用

public void testArrayHandler(){

QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

String sql = "select* from users where id=5";

ArrayHandler rsh = newArrayHandler();

try {

Object[] array =runner.query(sql, rsh);

System.out.println(Arrays.asList(array));

} catch (SQLException e){

// TODOAuto-generated catch block

e.printStackTrace();

}

}



// ArrayListHandler的使用

public void testArrayListHandler(){

QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

String sql = "select* from users";

ArrayListHandler rsh =new ArrayListHandler();

try {

List<Object[]>array = runner.query(sql, rsh);

for (int i = 1; i< array.size(); i++) {

System.out.println(Arrays.asList(array.get(i)));

}

} catch (SQLException e){

// TODOAuto-generated catch block

e.printStackTrace();

}



}



// Map的应用

public voidtestMapListHandler(){

QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

String sql = "select* from users";

MapListHandler rsh = newMapListHandler();

List<Map<String,Object>> result=null;

try {

result =(List<Map<String, Object>>) runner.query(sql,rsh);

for (int i = 0; i< result.size(); i++) {

Map<String,Object> map = result.get(i);

System.out.println("---------------------");



for(Map.Entry<String, Object> me : map.entrySet()) {

StringcolName = me.getKey();

Objectvalue = me.getValue();



System.out.println(colName+ " = " + value);

}

}

} catch (SQLException e){

// TODOAuto-generated catch block

e.printStackTrace();

}



}



public static voidmain(String[] args) {

// new UserDaoImpl().insert();

// newUserDaoImpl().delete();

// newUserDaoImpl().update();

// newUserDaoImpl().findById();

// newUserDaoImpl().findAll();

// 批处理

// newUserDaoImpl().bath();

// 数组使用

// newUserDaoImpl().testArrayHandler();

//

//newUserDaoImpl().testArrayListHandler();

newUserDaoImpl().testMapListHandler();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未来AI编程

共鸣===鼓励 打赏您随意

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值