JDBC连接池,Statement,PerparedStatement区别,ResultSet
来源:互联网 发布:婴儿肥 知乎 编辑:程序博客网 时间:2024/06/02 07:08
一.连接池(数据源)
1.DriverManager的问题
每次调用它都创建一个新连接,它没有复用连接它没有管理连接的上限,并发数过大时会导致数据库崩溃
2.连接池的作用
连接池会存储一批连接,并复用这些连接连接池可以管理连接的上限,避免数据库崩溃
3.常用连接池
DBCPC3P0
4.工作场景
>>创建连接池对象时,连接池会自动创建一批(可配)连接并标记为空闲>>用户调用连接池时,连接池会返回一个连接给用户,并将连接标记为占用>>用户使用完连接后,将连接归还给连接池,连接池会清空连接,并标记为空闲>>当连接池发现连接快不够用(可配)时,它会再次创建一批(可配)空闲连接>>当连接数达到上限(可配)时,连接池会让新的用户等待>>当高峰期过后,连接池会回收一批(可配)空闲连接
5.如何使用连接池
sun规定了连接池的接口: DataSourceDBCP提供的实现类是: BasicDataSource
图示:
1.设置工具类(DBUtil)加载配置文件(配置连接池的相关参数),使用静态块加载资源。
2.静态块加载资源后,创建连接池对象。
3.工具类中建立获取连接对象方法供使用者调用
4.使用者调用方法获取连接对象
二.Statement和PreparedStatement(面试题)
1.它们的联系
都是用来执行SQL的PreparedStatement extends Statement
2.它们的区别
Statement适合执行静态(无条件)SQLPreparedStatement适合执行动态(有条件)SQL
3.Statement工作过程
4.PreparedStatement工作过程
5.PreparedStatement可以避免注入攻击
三.结果集(ResultSet)
1.ResultSet
获取参数的方法,参考API
2.ResultSetMetaData(结果集元数据)
Meta: 元, 即根本/本质MetaData: 元数据, 即数据的概述(描述信息)ResultSetMetaData: 结果集元数据, 即结果集的描述信息该对象中存储了结果集的描述信息
个别方法:
getColumnCount(); 返回 ResultSet 中的列数。 getColumnName(int); 返回列序号为 int 的列名。 getColumnLabel(int); 返回此列暗含的标签。 isCurrency(int); 如果此列包含带有货币单位的一个数字,则返回 true。 isReadOnly(int); 如果此列为只读,则返回 true。 isAutoIncrement(int); 如果此列自动递增,则返回 true。这类列通常为键,而且始终是只读的。 getColumnType(int); 返回此列的 SQL 数据类型。
0 0
- JDBC连接池,Statement,PerparedStatement区别,ResultSet
- JDBC的Statement 和 ResultSet
- JDBC Connection Statement ResultSet DatabaseMetaData
- JDBC—Connection、Statement、ResultSet
- [JSP&JDBC]Statement/ResultSet/PreparedStatement
- [疯狂Java]JDBC:Statement、ResultSet、连接资源自动关闭、Properties配置文件
- JDBC中Connection,Statement,ResultSet的关系
- jdbc preparedStatement和statement,resultset等区分
- jdbc preparedStatement和statement,resultset等区分
- java JDBC(二):Statement、ResultSet、PreparedStatement
- Java jdbc中Statement,ResultSet,PreparedStatement
- JDBC(二)Statement,PrepareStatement和ResultSet
- JDBC之使用Statement,PreparedStatement,ResultSet
- JDBC连接数据库 and PreparedStatement和Statement区别
- jdbc连接mysql:statement和preparedStatement的区别
- JDBC数据库连接池connection关闭后Statement和ResultSet未关闭的问题
- JDBC数据库连接池connection关闭后Statement和ResultSet未关闭的问题
- JDBC数据库连接池connection关闭后Statement和ResultSet未关闭的问题
- 远程控制
- JNDI 和JDBC的区别
- Swift3.0 语法总结
- 设计模式:单例模式程序代码范例
- PAT 大区赛 1-7古风排版
- JDBC连接池,Statement,PerparedStatement区别,ResultSet
- 设计模式学习之策略模式
- C++中cout <<与cin >>的理解
- win10平台+VirtualBox下的ubuntu调用摄像头
- Go语言学习之struct(The way to go)
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(15)——xadmin的扩展
- set的用法
- HDU 3400 三分
- Redis源码剖析和注释(四)--- 跳跃表(skiplist)