A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 潘慧峰 初级黑马   /  2017-12-19 21:03  /  2341 人查看  /  21 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 潘慧峰 于 2017-12-20 16:07 编辑

DBUtils
数据表数据存储对象
准备工作
导入jar包
拷贝工具类JDBCUtils

DButils工具类的介绍个三个核心类
1: 概述
        DBUtils是java编程中的数据库操作实用工具,小巧简单实用.
        DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码.
        DBUtils就是JDBC的简化开发工具包。需要项目导入commons-dbutils-1.6.jar才能够正常使用DBUtils工具.
2: Dbutils三个核心功能介绍
        QueryRunner中提供对sql语句操作的API.
        update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作.
        query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params),用来完成表数据的查询操作.
        ResultSetHandler接口,用于定义select操作后,怎样封装结果集.
        DbUtils类,它就是一个工具类,定义了关闭资源与事务处理的方法.
        
QueryRunner类的update方法介绍
方法介绍:
        update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作.
        使用QueryRunner类,实现对数据表的insert delete update.
        调用QueryRunner类的方法 update (Connection con,String sql,Object...param).
        Object...param 可变参数,Object类型,SQL语句会出现?占位符.
        数据库连接对象,自定义的工具类传递.

JavaBean类
概念:
        JavaBean就是一个类,在开发中常用封装数据。具有如下特性.
        1.        需要实现接口:java.io.Serializable ,通常实现接口这步骤省略了,不会影响程序.
        2.        提供私有字段:private 类型 字段名;.
        3.        提供getter/setter方法:
        4.        提供无参构造.
        
DBUtils工具类结果集处理的方式
1: QueryRunner实现查询操作
        query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,用来完成表数据的查询操作.
2: ResultSetHandler结果集处理类
        ArrayHandler        将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值.
        ArrayListHandler        将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中.
        BeanHandler        将结果集中第一条记录封装到一个指定的javaBean中.
        BeanListHandler        将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中.
        ColumnListHandler        将结果集中指定的列的字段值,封装到一个List集合中.
        ScalarHandler        它是用于单数据。例如select count(*) from 表操作.
        MapHandler        将结果集第一行封装到Map集合中,Key 列名, Value 该列数据.
        MapListHandler        将结果集第一行封装到Map集合中,Key 列名, Value 该列数据,Map集合存储到List集合.

QueryRunner类的方法query
QueryRunner数据查询操作:
        调用QueryRunner类方法query(Connection con,String sql,ResultSetHandler r, Object..params).
        ResultSetHandler r 结果集的处理方式,传递ResultSetHandler接口实现类.
        Object..params SQL语句中的?占位符.
        注意: query方法返回值,返回的是T 泛型, 具体返回值类型,跟随结果集处理方式变化.

连接池
连接池介绍:
实际上就是存放连接的池子(容器).
在开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程.
为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection.
这样我们就不需要每次都创建连接、释放连接了,这些操作都交给了连接池        .
               
连接池概念规范和DataSource接口
1: 连接池概念规范
        用池来管理Connection,这样可以重复使用Connection.
        不用自己来创建Connection,而是通过池来获取Connection对象.
        使用完Connection后,调用Connection的close()方法也不会真的关闭Connection,而是把Connection“归还”给池.
        连接池技术可以完成Connection对象的再次利用.
2: DataSource接口
        Java为数据库连接池提供了公共的接口:javax.sql.DataSource
        各个厂商需要让自己的连接池实现这个接口。这样应用程序可以方便的切换不同厂商的连接池.
        常见的连接池:DBCP、C3P0.
        
DBCP连接池介绍
        DBCP也是一个开源的连接池,是Apache Common成员之一,在企业开发中也比较常见,tomcat内置的连接池.
        
导入jar包
1: jar包介绍        
        mysql-connector-java-5.1.37-bin.jar:数据库驱动.
        commons-dbutils-1.6.jar:提供QueryRunner类方便进行增删改查操作.
        commons-dbcp-1.4.jar:
        commons-pool-1.5.6.jar:提供高效的数据库连接池技术.
2: 导入jar包
        在项目根路径下建立文件夹lib.
        拷贝以上jar包,选定拷贝的jar包/右键/Build Path/Add to Build Path.
        
BasicDataSource类的常见配置
必须项        
driverClassName        数据库驱动名称
url                                数据库的地址
username                用户名
password                密码
基本项        
maxActive                最大连接数量
minIdle                        最小空闲连接
maxIdle                 最大空闲连接
initialSize                初始化连接

21 个回复

倒序浏览
回复 使用道具 举报
刘昌昊 来自手机 初级黑马 2017-12-20 12:13:34
藤椅
写的很好
回复 使用道具 举报
崔越 来自手机 初级黑马 2017-12-20 12:13:42
板凳
此文只应天上有
回复 使用道具 举报
pyx0812 来自手机 初级黑马 2017-12-20 12:15:28
报纸
很详细辛苦了
回复 使用道具 举报
ycbin 来自手机 初级黑马 2017-12-20 13:04:52
地板
很有用,很全面
回复 使用道具 举报
cdreamx 来自手机 初级黑马 2017-12-20 17:07:49
7#
可以可以,写的不错,但是我全会,装b没人知道我是谁吧哈哈哈
回复 使用道具 举报
15846125943 来自手机 初级黑马 2017-12-20 17:10:42
8#
好的   整理很详细
回复 使用道具 举报
刘汉国 来自手机 初级黑马 2017-12-20 17:10:54
9#
总结的很详细啊
回复 使用道具 举报
武来彬 来自手机 初级黑马 2017-12-20 17:17:28
10#
对于dbutils整理的非常好  非常全面
回复 使用道具 举报
敲代码--- 来自手机 初级黑马 2017-12-20 17:18:09
11#
整理的很详细哦,很到位,很棒!
回复 使用道具 举报
lin632854170 来自手机 初级黑马 2017-12-20 17:18:36
12#
非常重要的工具类,写的很好
回复 使用道具 举报
weiyipeng123456 来自手机 初级黑马 2017-12-20 17:41:00
13#
详细完美
回复 使用道具 举报
对马上要学的内容是一个很好的回顾啊
回复 使用道具 举报
Lee0 初级黑马 2017-12-20 19:48:58
15#
总结的很好,正好又复习了一遍
回复 使用道具 举报
正好明天会用到,再看一遍挺好的,很详细
回复 使用道具 举报
原来一直搞不懂这个类是什么,现在搞懂了,谢谢楼主!!
回复 使用道具 举报
Lust 来自手机 初级黑马 2017-12-20 22:21:21
18#
正好明天回顾jdbc,谢谢分享
回复 使用道具 举报
写的不错  挺好的
回复 使用道具 举报
demo_jean 来自手机 初级黑马 2017-12-20 23:09:46
20#
写的很,棒哦。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马