ThoughtWorks欧亚创新工作室

实训day02

2017-12-19  本文已影响10人  二慧Liu

JDBC

JDBC的六大操作:

1:注册
2:获得
3:获取执行sql语句的
4:执行sql 语句,并返回
5:处理
6:释放资源

上述操作代码

DBUtils 连接池

  • DBUtils 是一个简化JDBC开发的工具包
  • 连接池是简化开发,减少连接对象的创建与销毁,提高cpu的性能
  • 连接池由 DBCP:Apache 推出的Database Connection Pool 的 jar包 提供

四个 jar包

  • 数据库连接包
    mysql-connector-java-5.1.37-bin.jar
  • 连接池的包
    commons-dbcp-1.4.jar
    commons-pool-1.5.6.jar
  • DBUtils包
    commons-dbutils-1.4.jar

DataSource

  • 使用连接池技术管理连接对象

实现数据库的增删改查

增加(删除和修改:将sql改为相应的sql语句)

数据库增加代码

JDBCUtils 专门完成配置连接池的一个类 工具类

连接池

查询

前提:

javabean类

  • 需要有空参构造
  • 属性私有
  • 提供set get方法

DBUtils 技术

使用套路

1.创建 QueryRunner 对象
即 QueryRunner qr = new QueryRunner(JDBCUtils。getDS());

2.执行sql语句

  • String sql = "你要写的sql语句";(sql语句中的参数 变成?占位)
    Object[] params = {?对应的哪些值};
  • 如果是增删改查语句 那么执行 qr.update(sql,params)
  • 如果是查询语句 那么执行 qr.query(sql,rsh,params)
上述代码

记录的处理方式

rsh ResultSetHandler :代表 将结果集 以什么形式进行处理 这个参数 是一种处理方式

多行记录的处理器:

BeanListHandler : 多行处理器 把结果集转换成List<类型>

ColumnListHandler : 多行单列处理器,把结果集转换成List<Object>
(写项目的时候 级联的时候要用) 使用的时候指定某一列名称或编号 不写默认是第一列。

ArrayListHandler : 多行处理器,把结果集的每一行记录 数据 存储在一个Object数组中 最终在存在List<Object[ ]>

MapListHandler : 多行处理器 将结果集每一行转换成Map 再将每一个map存储在List

单行记录的处理器:

BeanHandler : 单行处理器,把结果集转换成一个对象,该处理器需要一个Class类型参数 类名.class——>(与反映相关,转换类型)

ScalarHandler:单行单列处理器 把结果集 使用Object接收 一般用于 聚合函数 比如 统计求和

ArrayHandler :单行处理器,把结果集 的第一行记录 数据 全部存储在一个Object数组中

MapHandler : 单行处理器 将结果集转换成 Map<String,Object> 键是列名


                                              Enjoy
上一篇下一篇

猜你喜欢

热点阅读