废话不多说,直接进入主题!
为了简化jdbc的操作,就有了DBUtils, 使用它需要用到连接池技术,DBUtils底层自己在维护连接Connection,本例子中使用C3P0连接池,C3P0连接池的使用可以参考 “C3P0连接池”一文
使用前导入jar包:
下面直接上代码
import java.sql.SQLException;
import javax.management.Query;
import org.apache.commons.dbutils.QueryRunner;
import cn.liyu.utils.C3P0Utils;
public class DBUtilsTest {
//DBUtils使用案例 本案例使用C3P0连接池获取 DataSource
public static void main(String[] args) {
try {
QueryRunner queryRunner = new QueryRunner(C3P0Utils.getDataSource());
//因为增删改 都是使用update 所以只对增加进行演示
//这里使用预编译的写法,?为占位符
String sql = "INSERT INTO myshop (Id,name) values(?,?)";
Object[] param = {2,"电脑"};
//update方法返回int型 要是插入成功 则返回条数,可以用来判断
int result = queryRunner.update(sql, param);
if(result > 0){
System.out.println("插入成功");
}else{
System.out.println("插入失败");
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
测试后发现没问题,这就是DBUtils的简单使用,相对于增删改操作,查询操作就会复杂一些,query方法有一个参数为 ResultSetHandle类型 关于这个参数我这里粘贴一份说明文档,来详细解释下,最后还会贴出具体使用代码
ResultSetHandle类型说明见下图:
接下来我们就来看代码,来具体使用一下