- 浏览: 417551 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
HF_SKY000:
对于直接关掉浏览器的情况是不会执行销毁方法的,如何解决?
JavaWeb中的Session、SessionListener、在线人数统计 -
xiaokang1582830:
我也遇到同样的错误javax.mail.Authenticat ...
使用JavaMail接收邮件 -
握着橄榄枝的人:
...
oracle创建表空间,创建用户(转) -
zqwxhn:
大哥 字体能不能设置的大点
Eclipse界面开发---理解SWT布局 -
xuygfbi:
这个字体实在是...
Eclipse界面开发---理解SWT布局
JDBC常用类和方法
一、四种驱动程序概念
A、JDBC-ODBC Bridge
桥接器型的驱动程序,这类驱动程序的特色是必须在使用者端的计算机上事先安装好ODBC驱动程序,然后通过JDBC-ODBC的调用方法,进而通过ODBC来存取数据库。
作为JDK1.1后的一部分,是sun.jdbc.odbc包的一部分 Application--->JDBC-ODBC Bridge---->JDBC-ODBC Library--->ODBC Driver-->Database 适用于快速的原型系统,没有提供JDBC驱动的数据库如Access
B、JDBC-Native API Bridge
也是桥接器驱动程序之一,这类驱动程序也必须先在使用者计算机上先安装好特定的驱动程序(类似ODBC),然后通过JDBC-Native API桥接器的转换,把Java API调用转换成特定驱动程序的调用方法,进而存取数据库。
利用开发商提供的本地库来直接与数据库通信。 Application--->JDBC Driver---->Native Database library---->Database 比A类性能略好。
C、JDBC-middleware
这类型的驱动程序最大的好处就是省去了在使用者计算机上安装任何驱动程序的麻烦,只需在服务器端安装好middleware,而middleware会负责所有存取数据库必要的转换。Application--->Jdbc Driver----->java middleware--->JDBC Driver---->Database 具有最大的灵活性,通常由那些非数据库厂商提供,是四种类型中最小的。
D、Pure JDBC driver
这类型的驱动程序是最成熟的JDBC驱动程序,不但无需在使用者计算机上安装任何额外的驱动程序,也不需要在服务器端安装任何中介程序(middleware),所有存取数据库的操作,都直接由驱动程序来完成。
Application--->Jdbc driver----->database engine--->database 最高的性能,通过自己的本地协议直接与数据库引擎通信,具备在Internet装配的能力。
二、常用的JDBC类与方法
1、DriverManager类:
负责管理JDBC驱动程序。使用JDBC驱动程序之前,必须先将驱动程序加载并向DriverManager注册后才可以使用,同时提供方法来建立与数据库的连接。
方法:
A、Class.forName(String driver); //加载注册驱动程序
B、Static Connection getConnection(String url,String user,String password) throws SQLException;
//取得对数据库的连接
C、Static Driver getDriver(String url) throws SQLExcetion;
//在已经向DriverManager注册的驱动程序中寻找一个能够打开url所指定的数据库的驱动程序
2、Connection类
负责维护JSP/JAVA数据库程序和数据库之间的联机。可以建立三个非常有用的类对象。
方法:
A、Statement createStatement() throws SQLException; //建立Statement类对象
Statement createStatement(int resultSetType,int resultSetConcurrency) throws SQLException;
// 建立Statement类对象
resultSetType值
TYPE_FORWARD_ONLY 结果集不可滚动
TYPE_SCROLL_INSENSITIVE 结果集可滚动,不反映数据库的变化
TYPE_SCROLL_SENSITIVE 结果集可滚动,反映数据库的变化
resultSetConcurrency值
CONCUR_READ_ONLY 不能用结果集更新数据
CONCUR_UPDATABLE 能用结果集更新数据
JDBC2.0中才支持滚动的结果集,而且可以对数据进行更新
B、DatabaseData getData() throws SQLException; //建立DatabaseData类对象
C、PreparedStatement prepareStatement(String sql) throws SQLException;
//建立PreparedStatement类对象
D、boolean getAutoCommit() throws SQLException //返回Connection类对象的AutoCommit
状态
E、void setAutoCommit(boolean autoCommit) throws SQLException
//设定Connection类对象的AutoCommit状态
F、void commit() throws SQLException //确定执行对数据库新增、删除或修改记录的操作
G、void rollback() throws SQLException //取消执行对数据库新增、删除或修改记录的操作
H、void close() throws SQLException //结束Connection对象对数据库的联机
I、boolean isClosed() throws SQLException //测试是否已经关闭Connection类对象对数据库的联机
3、Statement类
通过Statement类所提供的方法,可以利用标准的SQL命令,对数据库直接新增、删除或修改操作
方法:
A、ResultSet executeQuery(String sql) throws SQLException //使用SELECT命令对数据库进行查询
B、int executeUpdate(String sql) throws SQLException
//使用INSERT\DELETE\UPDATE对数据库进行新增、删除和修改操作。
C、void close() throws SQLException //结束Statement类对象对数据库的联机
4、PreparedStatement类
PreparedStatement类和Statement类的不同之处在于PreparedStatement类对象会将传入的SQL命令事先编好等待使用,当有单一的SQL指令比多次执行时,用PreparedStatement类会比Statement类有效率
方法:
A、ResultSet executeQuery() throws SQLException //使用SELECT命令对数据库进行查询
B、int executeUpdate() throws SQLException
//使用INSERT\DELETE\UPDATE对数据库进行新增、删除和修改操作。
C、ResultSetData getData() throws SQLException
//取得ResultSet类对象有关字段的相关信息
D、void setInt(int parameterIndex,int x) throws SQLException
//设定整数类型数值给PreparedStatement类对象的IN参数
E、void setFloat(int parameterIndex,float x) throws SQLException
//设定浮点数类型数值给PreparedStatement类对象的IN参数
F、void setNull(int parameterIndex,int sqlType) throws SQLException
//设定NULL类型数值给PreparedStatement类对象的IN参数
G、void setString(int parameterIndex,String x) throws SQLException
//设定字符串类型数值给PreparedStatement类对象的IN参数
H、void setDate(int parameterIndex,Date x) throws SQLException
//设定日期类型数值给PreparedStatement类对象的IN参数
I、void setTime(int parameterIndex,Time x) throws SQLException
//设定时间类型数值给PreparedStatement类对象的IN参数
5、DatabaseData类
DatabaseData类保存了数据库的所有特性,并且提供许多方法来取得这些信息。
方法:
A、String getDatabaseProductName() throws SQLException //取得数据库名称
B、String getDatabaseProductVersion() throws SQLException //取得数据库版本代号
C、String getDriverName() throws SQLException //取得JDBC驱动程序的名称
D、String getDriverVersion() throws SQLException //取得JDBC驱动程序的版本代号
E、String getURL() throws SQLException //取得连接数据库的JDBC URL
F、String getUserName() throws SQLException //取得登录数据库的使用者帐号
6、ResultSet类
负责存储查询数据库的结果。并提供一系列的方法对数据库进行新增、删除和修改操作。也负责维护一个记录指针(Cursor),记录指针指向数据表中的某个记录,通过适当的移动记录指针,可以随心所欲的存取数据库,加强程序的效率。
方法:
A、boolean absolute(int row) throws SQLException //移动记录指针到指定的记录
B、void beforeFirst() throws SQLException //移动记录指针到第一笔记录之前
C、void afterLast() throws SQLException //移动记录指针到最后一笔记录之后
D、boolean first() throws SQLException //移动记录指针到第一笔记录
E、boolean last() throws SQLException //移动记录指针到最后一笔记录
F、boolean next() throws SQLException //移动记录指针到下一笔记录
G、boolean previous() throws SQLException //移动记录指针到上一笔记录
H、void deleteRow() throws SQLException //删除记录指针指向的记录
I、void moveToInsertRow() throws SQLException //移动记录指针以新增一笔记录
J、void moveToCurrentRow() throws SQLException //移动记录指针到被记忆的记录
K、void insertRow() throws SQLException //新增一笔记录到数据库中
L、void updateRow() throws SQLException //修改数据库中的一笔记录
M、void update类型(int columnIndex,类型 x) throws SQLException //修改指定字段的值
N、int get类型(int columnIndex) throws SQLException //取得指定字段的值
O、ResultSetData getData() throws SQLException //取得ResultSetData类对象
7、ResultSetMetaData类
ResultSetMetaData类对象保存了所有ResultSet类对象中关于字段的信息,提供许多方法来取得这些信息。
方法:
A、int getColumnCount() throws SQLException //取得ResultSet类对象的字段个数
B、int getColumnDisplaySize() throws SQLException //取得ResultSet类对象的字段长度
C、String getColumnName(int column) throws SQLException //取得ResultSet类对象的字段名称
D、String getColumnTypeName(int column) throws SQLException //取得ResultSet类对象的字段类型名称
E、String getTableName(int column) throws SQLException //取得ResultSet类对象的字段所属数据表的名称
F、boolean isCaseSensitive(int column) throws SQLException //测试ResultSet类对象的字段是否区分大小写
G、boolean isReadOnly(int column) throws SQLException //测试ResultSet类对象的字段是否为只读
一、四种驱动程序概念
A、JDBC-ODBC Bridge
桥接器型的驱动程序,这类驱动程序的特色是必须在使用者端的计算机上事先安装好ODBC驱动程序,然后通过JDBC-ODBC的调用方法,进而通过ODBC来存取数据库。
作为JDK1.1后的一部分,是sun.jdbc.odbc包的一部分 Application--->JDBC-ODBC Bridge---->JDBC-ODBC Library--->ODBC Driver-->Database 适用于快速的原型系统,没有提供JDBC驱动的数据库如Access
B、JDBC-Native API Bridge
也是桥接器驱动程序之一,这类驱动程序也必须先在使用者计算机上先安装好特定的驱动程序(类似ODBC),然后通过JDBC-Native API桥接器的转换,把Java API调用转换成特定驱动程序的调用方法,进而存取数据库。
利用开发商提供的本地库来直接与数据库通信。 Application--->JDBC Driver---->Native Database library---->Database 比A类性能略好。
C、JDBC-middleware
这类型的驱动程序最大的好处就是省去了在使用者计算机上安装任何驱动程序的麻烦,只需在服务器端安装好middleware,而middleware会负责所有存取数据库必要的转换。Application--->Jdbc Driver----->java middleware--->JDBC Driver---->Database 具有最大的灵活性,通常由那些非数据库厂商提供,是四种类型中最小的。
D、Pure JDBC driver
这类型的驱动程序是最成熟的JDBC驱动程序,不但无需在使用者计算机上安装任何额外的驱动程序,也不需要在服务器端安装任何中介程序(middleware),所有存取数据库的操作,都直接由驱动程序来完成。
Application--->Jdbc driver----->database engine--->database 最高的性能,通过自己的本地协议直接与数据库引擎通信,具备在Internet装配的能力。
二、常用的JDBC类与方法
1、DriverManager类:
负责管理JDBC驱动程序。使用JDBC驱动程序之前,必须先将驱动程序加载并向DriverManager注册后才可以使用,同时提供方法来建立与数据库的连接。
方法:
A、Class.forName(String driver); //加载注册驱动程序
B、Static Connection getConnection(String url,String user,String password) throws SQLException;
//取得对数据库的连接
C、Static Driver getDriver(String url) throws SQLExcetion;
//在已经向DriverManager注册的驱动程序中寻找一个能够打开url所指定的数据库的驱动程序
2、Connection类
负责维护JSP/JAVA数据库程序和数据库之间的联机。可以建立三个非常有用的类对象。
方法:
A、Statement createStatement() throws SQLException; //建立Statement类对象
Statement createStatement(int resultSetType,int resultSetConcurrency) throws SQLException;
// 建立Statement类对象
resultSetType值
TYPE_FORWARD_ONLY 结果集不可滚动
TYPE_SCROLL_INSENSITIVE 结果集可滚动,不反映数据库的变化
TYPE_SCROLL_SENSITIVE 结果集可滚动,反映数据库的变化
resultSetConcurrency值
CONCUR_READ_ONLY 不能用结果集更新数据
CONCUR_UPDATABLE 能用结果集更新数据
JDBC2.0中才支持滚动的结果集,而且可以对数据进行更新
B、DatabaseData getData() throws SQLException; //建立DatabaseData类对象
C、PreparedStatement prepareStatement(String sql) throws SQLException;
//建立PreparedStatement类对象
D、boolean getAutoCommit() throws SQLException //返回Connection类对象的AutoCommit
状态
E、void setAutoCommit(boolean autoCommit) throws SQLException
//设定Connection类对象的AutoCommit状态
F、void commit() throws SQLException //确定执行对数据库新增、删除或修改记录的操作
G、void rollback() throws SQLException //取消执行对数据库新增、删除或修改记录的操作
H、void close() throws SQLException //结束Connection对象对数据库的联机
I、boolean isClosed() throws SQLException //测试是否已经关闭Connection类对象对数据库的联机
3、Statement类
通过Statement类所提供的方法,可以利用标准的SQL命令,对数据库直接新增、删除或修改操作
方法:
A、ResultSet executeQuery(String sql) throws SQLException //使用SELECT命令对数据库进行查询
B、int executeUpdate(String sql) throws SQLException
//使用INSERT\DELETE\UPDATE对数据库进行新增、删除和修改操作。
C、void close() throws SQLException //结束Statement类对象对数据库的联机
4、PreparedStatement类
PreparedStatement类和Statement类的不同之处在于PreparedStatement类对象会将传入的SQL命令事先编好等待使用,当有单一的SQL指令比多次执行时,用PreparedStatement类会比Statement类有效率
方法:
A、ResultSet executeQuery() throws SQLException //使用SELECT命令对数据库进行查询
B、int executeUpdate() throws SQLException
//使用INSERT\DELETE\UPDATE对数据库进行新增、删除和修改操作。
C、ResultSetData getData() throws SQLException
//取得ResultSet类对象有关字段的相关信息
D、void setInt(int parameterIndex,int x) throws SQLException
//设定整数类型数值给PreparedStatement类对象的IN参数
E、void setFloat(int parameterIndex,float x) throws SQLException
//设定浮点数类型数值给PreparedStatement类对象的IN参数
F、void setNull(int parameterIndex,int sqlType) throws SQLException
//设定NULL类型数值给PreparedStatement类对象的IN参数
G、void setString(int parameterIndex,String x) throws SQLException
//设定字符串类型数值给PreparedStatement类对象的IN参数
H、void setDate(int parameterIndex,Date x) throws SQLException
//设定日期类型数值给PreparedStatement类对象的IN参数
I、void setTime(int parameterIndex,Time x) throws SQLException
//设定时间类型数值给PreparedStatement类对象的IN参数
5、DatabaseData类
DatabaseData类保存了数据库的所有特性,并且提供许多方法来取得这些信息。
方法:
A、String getDatabaseProductName() throws SQLException //取得数据库名称
B、String getDatabaseProductVersion() throws SQLException //取得数据库版本代号
C、String getDriverName() throws SQLException //取得JDBC驱动程序的名称
D、String getDriverVersion() throws SQLException //取得JDBC驱动程序的版本代号
E、String getURL() throws SQLException //取得连接数据库的JDBC URL
F、String getUserName() throws SQLException //取得登录数据库的使用者帐号
6、ResultSet类
负责存储查询数据库的结果。并提供一系列的方法对数据库进行新增、删除和修改操作。也负责维护一个记录指针(Cursor),记录指针指向数据表中的某个记录,通过适当的移动记录指针,可以随心所欲的存取数据库,加强程序的效率。
方法:
A、boolean absolute(int row) throws SQLException //移动记录指针到指定的记录
B、void beforeFirst() throws SQLException //移动记录指针到第一笔记录之前
C、void afterLast() throws SQLException //移动记录指针到最后一笔记录之后
D、boolean first() throws SQLException //移动记录指针到第一笔记录
E、boolean last() throws SQLException //移动记录指针到最后一笔记录
F、boolean next() throws SQLException //移动记录指针到下一笔记录
G、boolean previous() throws SQLException //移动记录指针到上一笔记录
H、void deleteRow() throws SQLException //删除记录指针指向的记录
I、void moveToInsertRow() throws SQLException //移动记录指针以新增一笔记录
J、void moveToCurrentRow() throws SQLException //移动记录指针到被记忆的记录
K、void insertRow() throws SQLException //新增一笔记录到数据库中
L、void updateRow() throws SQLException //修改数据库中的一笔记录
M、void update类型(int columnIndex,类型 x) throws SQLException //修改指定字段的值
N、int get类型(int columnIndex) throws SQLException //取得指定字段的值
O、ResultSetData getData() throws SQLException //取得ResultSetData类对象
7、ResultSetMetaData类
ResultSetMetaData类对象保存了所有ResultSet类对象中关于字段的信息,提供许多方法来取得这些信息。
方法:
A、int getColumnCount() throws SQLException //取得ResultSet类对象的字段个数
B、int getColumnDisplaySize() throws SQLException //取得ResultSet类对象的字段长度
C、String getColumnName(int column) throws SQLException //取得ResultSet类对象的字段名称
D、String getColumnTypeName(int column) throws SQLException //取得ResultSet类对象的字段类型名称
E、String getTableName(int column) throws SQLException //取得ResultSet类对象的字段所属数据表的名称
F、boolean isCaseSensitive(int column) throws SQLException //测试ResultSet类对象的字段是否区分大小写
G、boolean isReadOnly(int column) throws SQLException //测试ResultSet类对象的字段是否为只读
发表评论
-
Lucene in action
2008-06-05 15:14 887在線文檔: http://read.newbooks.com. ... -
java解析xml的具体流程
2007-11-18 22:36 3100java 代码 import java ... -
J2SE API读取Properties文件的六种方法
2007-11-18 22:34 1657java 代码 1。使用java.util.Pr ... -
不用JDBC:ODBC bridge直接操作Access 数据库(转)
2007-10-28 22:01 2670/* 用JDBC来连接数据库有很两种方式,如<1&g ... -
JAVA日期操作(转)
2007-10-23 10:20 1529Calendar calendar = new ... -
yahoo信箱POP/SMTP设置
2007-09-24 16:57 5029yahoo信箱POP设置 邮件服务器设置如下: 接收邮件( ... -
(转)用InstallAnywhere制作JAVA程序的安装程序
2007-09-21 23:19 52301、这个是可以运行的JAVA程序 2、点“Save As ... -
InstallAnywhere制作java安装包(来自CSDN)
2007-09-21 18:03 7354应用的便携性对于产品而言很重要。从外观看,如果开发好的应用能够 ... -
(转)JavaMail(JAVA邮件服务) API详解 (4)
2007-09-21 11:31 26259.在邮件中搜索短语 JavaMail API提供了过滤器机制 ... -
(转)JavaMail(JAVA邮件服务) API详解 (3)
2007-09-21 11:29 44115.回复邮件 回复邮件的方法很简单:使用Message类的re ... -
(转)JavaMail(JAVA邮件服务) API详解 (2)
2007-09-21 11:02 4112F.Transport 在发送信息时,Transport类将被 ... -
(转)JavaMail(JAVA邮件服务) API详解 (1)
2007-09-21 11:00 3644一、JavaMail API简介 JavaM ... -
三层C/S结构及其应用开发(转)
2007-09-20 10:40 3499... -
使用JavaMail接收邮件
2007-09-12 23:36 11091package com.email.receive; impo ... -
用KeyTool生成安全证书
2007-09-12 13:52 23275详细请见:Tomcat的帮助文档,:https://local ... -
JavaMail利用SMTP发送简单邮件
2007-09-12 13:28 4853package com.email.send; import ... -
Java实现获取本机上ADSL的IP
2007-09-12 10:52 1636import java.net.*; public class ...
相关推荐
JDBC类与方法 JDBC(Java Database Connectivity)是Java语言中用来连接数据库的API,它提供了一种通用的方式来访问关系数据库。JDBC类图中包括了多种类,每...了解这些类和方法是使用 JDBC 进行数据库编程的基础。
在Java Web开发中,JDBC...结合“JDBC常用类和方法.doc”和“JSP白皮书.doc”,我们可以深入学习这两个领域的细节,提高数据库操作和动态网页开发的能力。理解并熟练运用这些知识点,将有助于构建高效、健壮的Web应用。
Oracle JDBC 连接类是 Oracle 数据库与 Java 应用程序之间进行...总之,Oracle JDBC 连接类是 Java 应用程序与 Oracle 数据库交互的基础,掌握其使用方法和原理,能够有效地进行数据库操作,并提升应用的性能和稳定性。
Java JDBC(Java Database Connectivity)是Java编程语言中用于与关系型数据库进行交互的一组标准接口和类。通过JDBC API,开发者能够连接到各种不同类型的数据库,如MySQL、Oracle等,执行SQL语句来实现数据的增删...
综上所述,`jdbc通用类`是Java数据库编程中常用的设计模式,它通过统一的接口封装了数据库连接、SQL执行、结果集处理等操作,降低了代码复杂度,提高了代码的可维护性和复用性。理解和掌握这些知识点对于提升Java...
### JDBC常用连接串详解 #### 一、概述 在Java开发中,JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。本文将...
在"Spring JDBC常用Jar包"中,包含了一些核心的库文件,这些文件在构建基于Spring的JDBC应用程序时是必不可少的。 1. **mysql-connector-java-5.1.24-bin.jar**: 这是MySQL数据库的JDBC驱动程序。它允许Java应用...
在这个“Oracle函数_JDBC常用写法”的主题中,我们将探讨Oracle的一些关键函数和JDBC的常见使用方法。 首先,让我们来看看`ORACLE函数大全.txt`中可能涵盖的内容。Oracle函数包括数学函数、字符串函数、日期时间...
本资源“各种常用数据库的jdbc驱动类(解压后 直接导包使用 )”包含了一系列主流数据库的JDBC驱动,使得开发者无需自行编译或寻找,即可直接导入项目使用,极大地简化了开发流程。 首先,JDBC驱动主要分为四种类型...
标题中提到的“常用数据库驱动和JDBC+URL”指的是在Java中使用JDBC(Java Database Connectivity)技术连接不同数据库时所使用的驱动程序及其相应的URL(统一资源定位符)。JDBC是一种Java API,用于实现Java程序与...
在上述内容中,列举了针对不同数据库系统常用的JDBC连接方式。下面将逐一详细介绍这些连接方法: 1. **MySQL**: - 首先需要引入MySQL的JDBC驱动包,如`mysql-connector-java`,示例中的版本为`mm.mysql-2.0.2-bin...
本篇文章将详细介绍在工作中常用的几个JDBC库,包括MySQL、Oracle和SQL Server 2000的驱动。 首先,MySQL JDBC驱动,也被称为MySQL Connector/J,是连接Java应用程序和MySQL数据库的桥梁。它实现了Java.sql和javax....
包括了jdbc的增删改查的方法,其中包含查询返回包括实体和Map结果,支持更新对象和保存对象的操作。
本文将详细介绍标题“常用数据库jdbc驱动”所涵盖的知识点,包括Oracle 10g、SQL Server 2000和2005以及MySQL 5.1.6的JDBC驱动包。 首先,我们来理解什么是JDBC。JDBC是Java API,它提供了一组接口和类,使得Java...
本资源包包含了几个主流数据库的JDBC驱动,包括SQL Server、Oracle、DB2以及MySQL,这些都是开发过程中非常常用的数据库系统。 1. SQL Server JDBC驱动:SQL Server是由微软提供的关系型数据库管理系统,它的JDBC...
常用 JDBC 驱动名字和 URL 列表 ODBC driver sun.jdbc.odbc.JdbcOdbcDriver jdbc:odbc:name 用 COM.ibm.db2.jdbc.net.DB2Driver 连接到 DB2 数据库 一个 DB2 URL 的示例: jdbc:db2://aServer.myCompany....
看前面的那一版注释,加了同步,线程安全,封装了jdbc常用操作,增删改查,查询ResultSet指定位置的记录,返回ResultSet每个列的名字,查询ResultSet中记录的行数...... 含源代码,测试代码!!!! 另附API说明,powerdesign图,...
在Java程序中,通过JDBC API可以实现对数据库的创建、查询、更新和删除等操作。 本文档列举了使用JDBC连接常见数据库的代码示例,包括MySQL、PostgreSQL、Oracle、Sybase、Microsoft SQL Server以及ODBC和DB2。以下...