使用DbUtils实现增删改查

8 篇文章 0 订阅
4 篇文章 0 订阅

        commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢hibernate的公司的首选。

/**
 * DbUtils的用法:利用DbUtils实现增删改查操作
 * @project_name Day12   
 * @class_name DbUtilsDemo1   
 * @author Dovinya
 * @data 2014-8-27 下午11:07:09   
 * @version 1
 * @notes
 */
/*
 create database day12;
 use day12;
 create table table1 (
 	id int primary key auto_increment,
 	name varchar(20),
 	salary double
 );
 
 insert into table1 values(null,'zhang',234.5);
 insert into table1 values(null,'li',234.5);
 insert into table1 values(null,'wang',3242);
 insert into table1 values(null,'zhao',32543);
 insert into table1 values(null,'pan',4654);
 insert into table1 values(null,'he',4235);
  
  
  
 * 
 */
public class DbUtilsDemo1 {
	/*
	 * 利用DbUtils实现更改操作
	 */
	public void update() throws SQLException {
	
			//获取数据源对象
			QueryRunner runner = new QueryRunner(new ComboPooledDataSource());
			runner.update("update table1 set salary =100");	
	}
	
	@Test
	public void add() throws SQLException{
		//获取数据源对象
		QueryRunner runner = new QueryRunner(new ComboPooledDataSource());
		runner.update("insert into table1 values(1,?,?)","lisi",1000);
	}
	@Test
	public void delete() throws SQLException{
		//获取数据源对象
		QueryRunner runner = new QueryRunner(new ComboPooledDataSource());
		runner.update("delete from table1 where name = 'lisi'");
	}
	
	@Test
	public void query() throws SQLException{
		//获取数据源对象
		QueryRunner runner = new QueryRunner(new ComboPooledDataSource());
		List<User> list = runner.query("select *from table1 where id<?", new ResultSetHandler<List<User>>(){

			@Override
			public List<User> handle(ResultSet rs) throws SQLException {
				
				List<User> list = new ArrayList<User>();
				while(rs.next()){
					User user = new User();
					user.setId(rs.getInt("id"));
					user.setName(rs.getString("name"));
					user.setSalary(rs.getDouble("salary"));
					
					list.add(user);
				}
				
				return list;
			}
			
		}, 5);
		
		System.out.println(list); //这里可以加断点调试观察
	}
	
	
}


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会尽力帮您解答关于使用dbutils实现增删改查的问题。 首先,dbutils是Apache提供的一个用于数据库操作的工具库,可以方便地进行数据的访问和管理。通常情况下,我们需要使用JDBC驱动程序连接数据库,然后对数据库进行增删改查操作。 下面是使用dbutils进行增删改查操作的示例代码: 1.导入dbutils库和JDBC驱动程序 ``` import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import javax.sql.DataSource; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.ResultSetHandler; import org.apache.commons.dbutils.handlers.BeanHandler; import org.apache.commons.dbutils.handlers.BeanListHandler; import org.apache.commons.dbutils.handlers.KeyedHandler; import org.apache.commons.dbutils.handlers.ScalarHandler; ``` 2.创建连接池对象 ``` DataSource dataSource = new ComboPooledDataSource(); ``` 3.创建QueryRunner对象 ``` QueryRunner qr = new QueryRunner(dataSource); ``` 4.执行查询语句 ``` String sql = "SELECT * FROM user WHERE id=?"; User user = qr.query(sql, new BeanHandler<User>(User.class), 1); ``` 5.执行更新语句 ``` String sql = "INSERT INTO user(username,password) VALUES(?,?)"; qr.update(sql, "admin", "123456"); ``` 6.执行批量操作 ``` Object[][] params = new Object[][] { { "user1", "password1" }, { "user2", "password2" } }; String sql = "INSERT INTO user(username,password) VALUES(?,?)"; qr.batch(sql, params); ``` 7.关闭连接池 ``` ((ComboPooledDataSource)dataSource).close(); ``` 以上是使用dbutils实现增删改查的基本示例代码,您可以根据自己的需求进行修改和扩展。希望我的回答能对您有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值