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工具包详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。