java学习笔记之DBUtils工具包详解
DBUtils工具包
一.介绍
DBUtils是Apache组织开源的数据库工具类。
二.使用步骤
①.创建QueryRunner对象
②.调用update()方法或者query()方法执行sql语句
三.构造方法及静态方法
QueryRunner类
1.构造方法
①.无参构造
QueryRunnerqr=newQueryRunner();
使用无参构造的时候,调用update方法和query方法时就需要使用带Connection类型参数的重载形式
②.有参构造
QueryRunnerqr=newQueryRunner(DataSourcedataSource);
这个参数是连接池对象
2.静态方法
①.intupdate(Connectioncon,Stringsql,Param);
该方法用于增删改语句的操作
参数介绍:
参数一:连接池对象(这个在无参构造的时候使用)
参数二:sql语句
参数三:可变参数(就是sql占位符的值)
返回值:int类型的返回受影响的行数
简单updatedemo
publicclassDemo{
publicstaticvoidmain(String[]args)throwsException{
/*
*演示有参构造的update()方法
*
*首先得导入jar包
*配置好C3P0的配置文件与准备好C3P0工具类
*然后创建QueryRunner对象
*调用update方法
*最后处理结果
*/
QueryRunnerqr=newQueryRunner(C3P0Utils.getDataSource());
intre=qr.update("updateusersetname=?whereuid=?","张三",2);
if(re>0){
System.out.println("修改成功");
}else{
System.out.println("修改失败");
}
}
}
附上简单的C3P0工具类
publicclassC3P0Utils{
privatestaticDataSourcedataSource=newComboPooledDataSource();
/**
*获得DataSource实现类对象
*@return
*/
publicstaticDataSourcegetDataSource(){
returndataSource;
}
/**
*获得连接
*@return
*@throwsException
*/
publicstaticConnectiongetConnection()throwsException{
returndataSource.getConnection();
}
}
②.query(Connectioncon,Stringsql,Param...)
该方法用于出查询操作
参数介绍:
参数一:Connection数据库连接对象,使用带参构造时可以不用
参数二:sql语句
参数三:表示对结果集的处理方式(ResultSetHandler接口)
ArrayHandler:表示将结果集第一行的数据存入数组
ArrayListHandler将结果集每一行的数据存入数组,多个数组存入集合List
BeanHandler表示将结果集第一行的数据存入JavaBean对象
BeanListHandler表示将结果集每一行的数据存入JavaBean对象,多个对象存入集合
ColumnListHandler表示将某一列的数据存入集合
MapHandler表示将结果集第一行的数据存入Map集合:键:列名值:列的值
MapListHandler表示将结果集每一行的数据存入Map集合多个Map存入List集合List
ScalarHandler获取一个值:count(*)sum(price)
参数四:可变参数(就是sql占位符的值)
使用BeanListHandler处理方式的demo:
publicvoiddemo1()throwsException{
QueryRunnerqr=newQueryRunner(MyC3P0Utils.getDataSource());
Listlist=qr.query("select*fromcarwhereprice<20orderbypricedesc",newBeanListHandler<>(Car.class));
for(Carcar:list){
System.out.println(car);
}
}
javaBean类的编写:
publicclassCar{
privateintcid;
privateStringcname;
privateStringcompany;
privateStringgrade;
privatedoubleprice;
@Override
publicStringtoString(){
return"Car[cid="+cid+",cname="+cname+",company="+company+",grade="+grade+",price="+price
+"]";
}
publicintgetCid(){
returncid;
}
publicvoidsetCid(intcid){
this.cid=cid;
}
publicStringgetCname(){
returncname;
}
publicvoidsetCname(Stringcname){
this.cname=cname;
}
publicStringgetCompany(){
returncompany;
}
publicvoidsetCompany(Stringcompany){
this.company=company;
}
publicStringgetGrade(){
returngrade;
}
publicvoidsetGrade(Stringgrade){
this.grade=grade;
}
publicdoublegetPrice(){
returnprice;
}
publicvoidsetPrice(doubleprice){
this.price=price;
}
publicCar(intcid,Stringcname,Stringcompany,Stringgrade,doubleprice){
super();
this.cid=cid;
this.cname=cname;
this.company=company;
this.grade=grade;
this.price=price;
}
publicCar(){
super();
//TODOAuto-generatedconstructorstub
}
}
以上这篇java学习笔记之DBUtils工具包详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。