DBUtils的使用.

本文介绍如何使用DBUtils结合C3P0连接池进行数据库操作,包括查询、插入、更新和删除等基本操作,并展示了批量操作的实现。

使用步骤

1.导入jar包   

commons-dbutils-xx.jar

c3p0-xxx.jar

mysql-connector-java-xxxx-bin.jar            

2 .创建QueryRunner对象

QueryRunner qr=new QueryRunner(C3p0Utils.getDataSource());

3 .使用query方法执行select语句

package com.wency.dbutils;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.junit.Test;

import com.wency.entity.User;


public class TestDBUtils {
	@Test
	public void testFind() throws SQLException{
		
		//创建QuerRunner对象
		QueryRunner qr=new QueryRunner(C3p0Utils.getDataSource());
        List<User> users = qr.query("select * from user",new ResultSetHandler<List<User>>(){

			@Override
			public List<User> handle(ResultSet rs) throws SQLException {
				// TODO Auto-generated method stub
				
				List<User> list=new ArrayList<User>();
				while (rs.next()) {
					User user=new User();
					int id=rs.getInt(1);
					String name=rs.getString(2);
					String pwd=rs.getString(3);
					String email=rs.getString(4);
					user.setId(id);
					user.setPwd(pwd);
					user.setUserName(name);
					user.setEmail(email);
					list.add(user);
				}
				return  list;
			}
			

		});
        
        System.out.println(users);
        
	}
	
	@Test
	public void testSelect2() throws SQLException
	{
		//创建一个QueryRunner对象
		QueryRunner qr=new QueryRunner(C3p0Utils.getDataSource());
		//调用qr的Query()方法
		List<User> list = qr.query("select * from user where _id=?",new BeanListHandler<User>(User.class),2);
	    System.out.println(list);
	}
	
	@Test
	public void testInsert() throws SQLException{
		QueryRunner qr=new QueryRunner(C3p0Utils.getDataSource());
		int update = qr.update("insert into user(userName,pwd,email) values(?,?,?)","小刚","345555","344536@qq.com");
		System.out.println(update);
		
	}
	
	@Test
	public void testUpdate() throws SQLException{
		QueryRunner qr=new QueryRunner(C3p0Utils.getDataSource());
		int update = qr.update("update user set userName=? where _id=?","小美",3);
	}
	
	@Test
	public void testDelete() throws SQLException{
		QueryRunner qr=new QueryRunner(C3p0Utils.getDataSource());
		qr.update("delete from user where _id=?","3");
	}
	
	@Test
	public void testBatch() throws SQLException{
		QueryRunner qr=new QueryRunner(C3p0Utils.getDataSource());
		Object[][] params=new Object[10][];
		for (int i = 0; i < params.length; i++) {
			params[i]=new Object[]{"wency","3344","345@454.com"};
		}
		qr.batch("insert into user(userName,pwd,email) values(?,?,?)", params); 
		
	}
}


在项目中导入 DBUtils 3.x 版本的相关库或依赖,需要根据项目的技术栈和构建工具进行配置。以下是几种常见方式,适用于 Maven、Gradle 以及手动导入 JAR 包的情况。 ### ### Maven 项目中导入 DBUtils 3.x 如果使用 Maven 进行依赖管理,可以在 `pom.xml` 文件中添加以下依赖项来引入 DBUtils 3.x 版本: ```xml <dependency> <groupId>commons-dbutils</groupId> <artifactId>commons-dbutils</artifactId> <version>3.0</version> </dependency> ``` 注意:DBUtils 的 3.x 版本可能是基于特定分支或社区维护的版本,官方发布的最新版本可能仍为 1.7。如果需要使用 3.x,建议检查 Maven 仓库或相关社区资源以获取正确的版本号[^1]。 ### ### Gradle 项目中导入 DBUtils 3.x 对于使用 Gradle 构建的项目,可以在 `build.gradle` 文件中添加如下依赖: ```groovy dependencies { implementation 'commons-dbutils:commons-dbutils:3.0' } ``` 同样,确保该版本在仓库中可用。如果官方仓库不支持 3.x,可以尝试从 JitPack 或其他第三方仓库获取。 ### ### 手动导入 DBUtils 3.x JAR 包 如果项目未使用构建工具管理依赖,可以手动下载 DBUtils 3.x 的 JAR 包,并将其添加到项目的 `lib` 目录中。然后通过 IDE(如 IntelliJ IDEA 或 Eclipse)将 JAR 包添加到项目的构建路径中。 ### ### 验证 DBUtils 3.x 是否成功导入 导入完成后,可以通过编写简单的 JDBC 操作代码来验证 DBUtils 是否正确引入。例如: ```java import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanListHandler; import java.sql.Connection; import java.sql.DriverManager; import java.util.List; public class DbUtilsTest { public static void main(String[] args) throws Exception { // 配置数据库连接 String url = "jdbc:mysql://localhost:3306/test_db"; String user = "root"; String password = "password"; Connection conn = DriverManager.getConnection(url, user, password); // 使用 QueryRunner 执行查询 QueryRunner runner = new QueryRunner(); List<User> users = runner.query(conn, "SELECT * FROM users", new BeanListHandler<>(User.class)); // 输出结果 for (User user : users) { System.out.println(user.getName()); } } } ``` 上述代码展示了如何使用 DBUtils 的 `QueryRunner` 类和 `BeanListHandler` 处理器进行数据库查询操作[^3]。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值