Java基础-DButils工具类(QueryRunner)详解
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC开发,本案例我们讲采用apache commons组件一个成员:DBUtils。DBUtils就是JDBC的简化开发工具包。需要项目导入commons-dbutils-1.7.jar才能够正常使用DBUtils工具。安装方式可参考:“http://www.cnblogs.com/yinzhengjie/p/9017416.html”
一.DBUtils工具类介绍
DBUtils是java编程中的数据库操作实用工具,小巧简单实用。DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。Dbutils三个核心功能介绍
1>. QueryRunner中提供对sql语句(insert,update,delete)操作的API;
2>.ResultSetHandler接口,用于定义select操作后,怎样封装结果集.;
3>.DbUtils类,它就是一个工具类,定义了关闭资源与事务处理的方法;
二.QueryRunner类使用方法
update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作;
query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,用来完成表数据的查询操作;
1>.准备实验环境
1 /* 2 @author :yinzhengjie 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/ 4 EMAIL:y1053419035@qq.com 5 */ 6 7 8 #创建表结构 9 create table Classmate( 10 ID int(11) NOT NULL primary key AUTO_INCREMENT, 11 Name varchar(30) COLLATE gbk_bin DEFAULT NULL, 12 Age int DEFAULT NULL, 13 Job varchar(50), 14 Chinese int, 15 English int, 16 Math int, 17 Physics int, 18 Chemistry int, 19 Biology int 20 ); 21 22 #往表里添加数据 23 insert into Classmate values(null,'王建军',30,'Java讲师',100,98,99,96,97,100); 24 insert into Classmate values(null,'常庆林',28,'Linux讲师',100,100,98,93,99,96); 25 insert into Classmate values(null,'徐培成',35,'BigData讲师',100,100,100,98,96,100); 26 insert into Classmate values(null,'李永强',30,'javaEE开发工程师',100,93,91,74,89,100); 27 insert into Classmate values(null,'赵子昂',24,'python开发工程师',98,93,91,74,89,100); 28 insert into Classmate values(null,'桂阳',25,'C++开发工程师',100,98,93,91,99,82); 29 insert into Classmate values(null,'肖云龙',24,'Golang开发工程师',93,97,85,100,93,69); 30 insert into Classmate values(null,'李洋',23,'C#开发工程师',100,98,99,96,97,100); 31 insert into Classmate values(null,'卜孟龙',30,'BigData开发',98,93,100,100,73,92); 32 insert into Classmate values(null,'罗大鹏',22,'Java开发工程师',100,84,91,87,100,93); 33 insert into Classmate values(null,'尹正杰',26,'高级运维工程师',100,100,100,100,100,100);
2>.QueryRunnerd的update方法实现增(insert),删(delete),改(update)
1 DriverName=com.mysql.jdbc.Driver 2 #zai "url" lu jing hou jia "?useServerPrepStmts=true&cachePrepStmts=true&rewriteBatchedStatements=true" ke yi kai qi pi chu li mo shi ! 3 url=jdbc:mysql://192.168.0.254:5200/yinzhengjie?useServerPrepStmts=true&cachePrepStmts=true&rewriteBatchedStatements=true 4 username=root 5 password=yinzhengjie