使用DBUtils实现增删改查

创建C3p0Utils类

public class C3p0Utils {
	private static DataSource ds;
	static {
		ds = new ComboPooledDataSource();
	}
	public static DataSource getDataSource() {
		return ds;
	}
}

创建DBUtilsDao类

public class DBUtilsDao {
	// 查询所有,返回List集合
	public List findAll() throws SQLException {
		// 创建QueryRunner对象
		QueryRunner runner = new QueryRunner(C3p0Utils.getDataSource());
		// 写SQL语句
		String sql = "select * from users";
		// 调用方法
		List list = (List) runner.query(sql,
                     new BeanListHandler(User.class));
		return list;
	}
	// 查询单个,返回对象
	public User find(int id) throws SQLException {
		// 创建QueryRunner对象
		QueryRunner runner = new QueryRunner(C3p0Utils.getDataSource());
		// 写SQL语句
		String sql = "select * from users where id=?";
		// 调用方法
		User user = (User) runner.query(sql, 
                 new BeanHandler(User.class), new Object[] { id });
		return user;
	}
	// 添加用户的操作
	public Boolean insert(User user) throws SQLException {
		// 创建QueryRunner对象
		QueryRunner runner = new QueryRunner(C3p0Utils.getDataSource());
		// 写SQL语句
		String sql = "insert into users (username,password) values (?,?)";
		// 调用方法
		int num = runner.update(sql,
				new Object[] { user.getUsername(), user.getPassword() });
		if (num > 0)
			return true;
		return false;
	}
	// 修改用户的操作
	public Boolean update(User user) throws SQLException {
		// 创建QueryRunner对象
		QueryRunner runner = new QueryRunner(C3p0Utils.getDataSource());
		// 写SQL语句
		String sql = "update  users set username=?,password=? where id=?";
		// 调用方法
		int num = runner.update(sql, new Object[] { user.getUsername(),
                     user.getPassword(),user.getId() });
		if (num > 0)
			return true;
		return false;
	}
	// 删除用户的操作
	public Boolean delete(int id) throws SQLException {
		// 创建QueryRunner对象
		QueryRunner runner = new QueryRunner(C3p0Utils.getDataSource());
		// 写SQL语句
		String sql = "delete from users where id=?";
		// 调用方法
		int num = runner.update(sql, id);
		if (num > 0)
			return true;
		return false;
	}
}

测试DBUtilsDao类中的增删改查操作

public class DBUtilsDaoTest {
	private  DBUtilsDao dao;
	@BeforeEach
	void init(){
		dao = new DBUtilsDao();
	}
	
	@Test
	public void testInsert() throws SQLException {
		User user = new User();
		user.setUsername("zhaoliu1");
		user.setPassword("666666");
		boolean b = dao.insert(user);
		System.out.println(b);
	}
	
	@Test
	public void testupdate() throws SQLException {
		User user = new User();
		user.setUsername("zhaoliu");
		user.setPassword("666777");
		user.setId(5);
		boolean b = dao.update(user);
		System.out.println(b);
	}
	
	@Test
	public void testdelete() throws SQLException {
		boolean b = dao.delete(5);
		System.out.println(b);
	}
	
	@Test
	public void testfind() throws SQLException {
		User user = dao.find(2);
		System.out.println(user.getId() + "," + user.getUsername() + ","
				+ user.getPassword());
	}
	
}
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值