设为首页 加入收藏

TOP

数据库访问:JDBC(17.1)
2014-11-24 07:47:55 来源: 作者: 【 】 浏览:2
Tags:数据库 访问 JDBC 17.1

JDBC应用概述

1.载入JDBC驱动程序
2.定义链接URL
3.建立链接。
4.创建Statement对象。
5.执行查询或更新。
6.结果处理。
7.关闭连接。

Connection类还包括其他一些有用的方法,我们接下来对它们进行简短的介绍。

prepareStatement
创建预编译查询,提交给数据库
prepareCall
访问数据库中的存储过程。
rollback/commit
控制食物管理。
close
终止打开的连接。
isClose
确定连接是否超时或被显示关闭。

Statement类中常用的方法:
executeQuery
执行SQL查询并在ResultSet中返回数据。ResultSet可能为空,但不会为null。
executeUpdate
用于UPDATE,INSERT或DELETE命令。返回受影响的行数,可以为0.
executeBatch
将一组命令作为一个单元执行,返回一个数组,其中存储每个命令的更新计数。addBatch可以想批量执行的命令组中添加命令。
setQueryTimeout
指定驱动程序在抛出SQLException异常之前,等待处理结果的时间。
getMaxRows/setMaxRows
确定ResultSet可能容纳的最大行数。超过的行将会再不给出任何警告的情况下丢弃。默认值为0。表示没有限制。

ResultSet中的一些有用方法

next/previous
将ResultSet中的游标分别移动到下一行(任何JDBC版本)或前一行(JDBC2.0以及以后版本)
relative/absolute
relative方法将游标相对地移动特定数目的行,或正或负(向前或者向后)。absolute方法将游标移动到给定的行号。如果绝对值是负数,那么游标将相对于ResultSet的结尾进行定位(JDBC2.0)
getXxx
返回Xxx Java类型的值
wasNull
检查上面的getXxx独到的是否为SQL的NULL值。
findColumn
返回ResultSet中的指定列名对应的索引。
getRow
返回当前的行号。第一行从1开始。
getMetaData
返回描述ResultSet的ResultSetMetaData对象。ResultSetMetaData给出列的数目和名称。

通过ResultSetMetaData类的作用,我们可以确定ResultSet中列的数目、名称和类型。

ResultSetMetaData的一些有用方法
getColumnCount
返回ResultSet中的列的数目。
getColumnName
返回列在数据库中的名称(索引从1开始)
getColumnType
返回列的SQL类型,对应java.sql.Types中的项。
isReadOnly
表示数据项是否为只读值
isSearchable
表名该列是否可以用WHERE子句中。
isNullable
表名该列是否可以存储NULL

创建可调用语句

1.定义数据库过程的调用
2.为这个过程准备CallableStatement
3.注册输出参数的类型。
4.为输入参数提供之。
5.只选哪个这个存储过程。
6.访问返回的输出参数。

定义对数据库过程的调用

无参数过程
{ call procedure_name }
仅有输入参数的过程
{ call procedure_name( , , ...) }
有一个输出参数的过程
{ call procedure_name }
既有输入参数又有输出参数的过程
{ = call procedure_name( , , ...) }

如果过程返回输出参数,那么输入参数的索引必须要考虑输出参数的数目。

示例:
connection.prepareCall("{ = call discount( , ) }");
statement.setString(2, composer);
statement.setFloat(3, discount);
statement.registerOutParameter(1, Types.INTEGER);
statement.execute();
int rows = statement.getInt(1);

作者“mistbow”

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇常用函数总结 下一篇WAS集群系列(7):集群搭建:步..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·“我用Java 8”已成 (2025-12-26 11:19:54)
·下载 IntelliJ IDEA (2025-12-26 11:19:52)
·Java是什么?(通俗 (2025-12-26 11:19:49)
·雾里看花:真正意义 (2025-12-26 10:54:36)
·C++——模板(超详细 (2025-12-26 10:54:34)