首页 > 代码库 > JDBC整理

JDBC整理

JDBC提供了独立于数据库的统一Api,用以执行SQL命令。JDBC API由以下常用的接口和类组成:

DriverManagement:用于管理JDBC驱动的服务类,程序中使用该类的主要功能是获取Connection对象。

Connection:代表数据库链接对象,每个Connection代表一个物理连接会话。要想访问数据库,必须先获得数据库链接。

                  该接口的常用方法有:Statement createStatement():返回一个Statement对象。

                                           PreparedStatement prepareStatement(String sql):该方法返回预编译的Statement对象,即将SQL语句提交到数据库进行预编译。

                                           CallableStatement prepareCall(String sql):该方法返回CallableStatement对象,该对象用于调用存储过程。

Statement:用于执行SQL语句的工具接口。该对象既可以用于执行DDL、DCL语句,也可用于执行DML语句。

PreparedStatement 预编译的Statement对象。

ResultSet:结果集对象。该对象包含访问查询结果的方法,ResultSet可以通过列索引或列名获得列数据。

管理结果集:

JDBC使用ResultSet来封装执行查询得到的查询结果,然后通过移动ResultSet的记录指针来取出结果集的内容。除此之外,JDBC还允许通过ResultSet来更新记录,并提供ResultSetMetaData来获得ResultSet对象的相关信息。

以默认方式打开的ResultSet是不可更新的,如果希望创建可更新的ResultSet,必须在创建爱Statement或PreparedStatement时传入额外的参数。Connection在创建Statement或PreparedStatement时还可以额外传入两个参数,

resultSetType,resultSetConcurrency

处理Blob类型的数据

Blob是二进制长对象的意思,Blob列通常用于存储大文件,典型Blob内容是一张图片或一个声音文件。所以将Blob数据插入数据库需要使用PreparedStatement,从而可以实现将Blob数据保存到数据库的功能。

使用ResultSetMetaData分析结果集

当我们执行Sql查询后,可以通过移动记录指针来遍历ResultSet的每条记录,但程序可能不清楚该ResultSet里包含哪些数据列,以及每个数据列的数据类型,那么可以通过ResultSetMetaData来获取关于Result的描述信息。

使用连接池管理连接

BDCP数据源

C3P0数据源