连接池和DBUTils小知识点记

为什么要使用连接池
Connection对象在JDBC使用的时候就回去创建一个对象,使用结束以后就会将这个对象给销毁了(close),每次创建和销毁对象都是耗时操作,需要使用连接池对其进行优化。
程序初始化的时候,初始化多个连接,将多个连接放入到池中,每次获取的时候都可以直接从连接池中进行获取,使用结束以后,将连接池归还到池中。

连接池原理
1、程序一开始就创建一定数量的链接,放在一个容器(集合)中,这个容器称为连接池。
2、使用的时候直接从连接池中取一个已经创建好的连接对象,使用完成之后,归还到池子。
3、如果池子中的连接已经用完了,还有程序需要使用连接,先等待一段时间,如果这段时间之内有连接归还,就拿去使用;如果还没有归还,新创建一个,但是创建的这一个不会归还了。
4、集合选择LinkedList:增删比较快,LinkedList里面的removeFirst()和addLast()方法和连接池的原理吻合
使用连接池的目的:可以让连接得到复用,避免浪费。

javaBean
1、javaBean说白了就是一个类,用来封装数据用的
2、JavaBean要求:
1、私有字段。2、提供公共的get、set方法。3、无参构造。4、实现seriablizable。

  • 字段: 全局/成员变量 eg: private String username
  • 属性: 去掉get或者set首字母变小写 eg: setUsername-去掉set->Username-首字母变小写->username

DBUTils

  1. 拷贝jar包
  2. 创建QueryRunner()对象,传入dataSource
  3. 调用update().query()方法
  4. 创建QueryRuner()对象, 传入DataSource
  5. 调用update(String sql, Object…params)
    3- 创建QueryRunner() 对象传入DataSource
    4- 调用query(sql,ResultSetHandler, params…)
    ResultSetHandler
  • BeanHandler() 查询一条记录封装到JavaBean对象
  • BeanListHandler() 查询多条记录封装到List list
  • MapHandler() 查询一条记录封装到Map对象
  • MapListHandler() 查询多条记录封装到List list
  • ScalarHandler() 封装单个记录的 eg:统计数量
ParameterMetaData
ParameterMetaData是由preparedStatement对象通过getParameterMetaData方法获取而来,ParameterMetaData可用于获取有关PreparedStatement对象和其预编译sql语句 中的一些信息. eg:参数个数,获取指定位置占位符的SQL类型
ParameterMetaData相关的API
- int getParameterCount(); 获得参数个数
- int getParameterType(int param) 获取指定参数的SQL类型。 (注:MySQL不支持获取参数类型)
ResultSetMetaData
ResultSetMetaData是由ResultSet对象通过getMetaData方法获取而来,ResultSetMetaData可用于获取有关ResultSet对象中列的类型和属性的信息。
获得ResultSetMetaData:
ResultSetMetaData resultSetMetaData = resultSet.getMetaData()
resultSetMetaData 相关的API
- getColumnCount(); 获取结果集中列项目的个数
- getColumnName(int column); 获得数据指定列的列名
- getColumnTypeName();获取指定列的SQL类型
- getColumnClassName();获取指定列SQL类型对应于Java的类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值