JDBC开发专题

1.常用数据库的JDBC驱动程序及连接串示例

数据库

JDBC驱动程序

连接串示例

Oracle

Oracle.jdbc.driver.OracleDriver

Jdbc:oracle:thin:@localhost:1521:orcl

DB2

Com.ibm.db2.jdbc.app.DB2Driver

Jdbc:db2://localhost:5000/testDB

SQL Server

Com.microsoft.jdbc.sqlserver.SQLServerDriver

Jdbc:microsoft:sqlserver://localhost:1433:DatabaseName=testDB

Sybase

Com.sybase.jdbc.SybDriver

Jdbc:Sybase:Tds:localhost:5007/testDB

Mysql

Com.mysql.jdbc.Driver

Jdbc:mysql://localhost:3306/testDB

 

 

2.元数据

 数据库元数据

利用java.sql.DatabaseMetaData获取数据表元数据、索引信息、数据库版本信息、驱动程序版本信息、驱动程序支持的JDBC版本等信息。获取DatabaseMetaData实例的方法是通过调用Connection的getMetaData方法。

 

结果集元数据

利用java.sql.ResultSetMetaData可以获取存放在java.sql.ResultSet对象中的结果集元数据,如字段名、字段类型、数据表名、字段数等。获取ResultSetMetaData实例的方法是通过调用ResultSet的getMetaData()方法。常用方法如下:

getColumnCount():获取结果集中的字段总数

getColumnName():根据传入的字段序号(从1计数)获取字段名

getColumnTypeName():根据传入的字段序号(从1计数)获取字段类型字符串

getColumnType():根据传入的字段序号(从1计数)获取字段类型编号。字段类型编号和字段类型之间的对应关系可以参考java.sql.Types的定义。

 

3.数据集的二次处理

3.1JDBC提供的ResultSet

ResultSet对象不是一个严格意义上的数据集,而是一个指向数据集的游标。ResultSet对象不负责存储数据,即数据仍然放在数据库的一端,并没有载入应用程序一端的内存。Statement对象对应着数据库游标。

数据集类型:Result.TYPE_FORWARD_ONLY只能向前移动指针,是默认的类型,TResult.YPE_SCROLL_INSENSITIVE可以自由移动指针,并且数据库中的数据变动不会反映到数据集中,Result.TYPE_SCROLL_SENSITIVE可以自由移动指针,并且数据库中的数据变动会反映到数据集中.

数据集的并发性:Result.CONCUR_READ_ONLY只读的,Result.CONCUR_UPDATABLE可修改的.

3.2JDBC提供的RowSet

对ResultSet接口进行封装。

 

4.批处理

基于Statement

例:

stmt = conn.createStatement();

stmt.addBatch("insert into foo values(1,'zhang')");

stmt.addBatch("insert into foo values(2,'wang')");

stmt.addBatch("insert into foo values(3,'li')");

stmt.executeBatch();

基于PreparedStatement

例:

pstmt = conn.prepareStatement("insert into foo values(?,?)");

pstmt.setInt(1,1);

pstmt.setString(2,"zhang");

pstmt.addBatch();

pstmt.setInt(1,2);

pstmt.setString(2,"wang");

pstmt.addBatch();

pstmt.setInt(1,3);

pstmt.setString(2,"li");

pstmt.addBatch();

pstmt.executeBatch();

 

5.存储过程

存储过程是存储在数据库中的一段程序,当创建存储过程时,系统会对其进行优化和编译,并将执行代码存储在数据库中。

优点:运行速度快、网络负荷少、安全机制放心。

 

6.触发器

数据库触发器是响应插入、更新或删除等数据库时间而执行的过程。它定义了当一些数据库相关事件发生时应采取的动作,可用于管理复杂的完整性约束,或监控对表的修改。它的类型有:语句级触发器及行级触发器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值