您的位置:首页 > 其它

JDBC基本操作

2011-08-23 07:09 337 查看
1.JDBC简介

JDBC(Java DataBase Connectivity)是使用 Java 存取数据库系统的标准解决方案,它将不同数据库间各自差异API与标准 SQL语句分开看待,实现数据库无关的 Java操作接口。

开发人员使用 JDBC统一的API接口,并专注于标准 SQL 语句,就可以避免直接处理底层数据库驱动程序与相关操作接口的差异性。

2.JDBC原理

JDBC API

提供者:Sun

作用:定义与数据库建立连接、执行SQL语句、处理结果的方法

内容:供程序员调用的接口与类,集成在java.sql和javax.sql包中

DriverManager类

提供者:Sun

作用:载入各种不同的JDBC驱动程序

JDBC驱动程序

提供者:数据库厂商

作用:针对具体的数据库产品实现JDBC API中的方法

java应用程序通过调用JDBC API 进行数据库的链接和sql语句的书写,然后通过API中的DriverManager驱动管理类实现和具体的数据库进行交互并提供所必须的驱动JAR包。

3.JDBC驱动类型

1.JDBC-ODBC桥链接

用户的计算机上必须事先安装好 ODBC 驱动程序,Type 1驱动程序利用桥接(Bridge)方式,将 JDBC 的调用方式转换为 ODBC驱动程序的调用方式

Microsoft Access 数据库存取就是使用这种类型。

优点:可以访问所有ODBC可以访问的数据库

缺点:执行效率低、功能不够强大

2.本地API部分Java驱动程序

驱动程序利用桥接方式,驱动程序上层封装 Java 程序以与 Java 应用程序作沟通,将 JDBC调用转为本地(Native)程序代码的调用,下层为本地语言(就像 C、C++)来与数据库进行沟通,下层的函数库是针对特定数据库设计的,不像JDBC-ODBC桥链接可以对 ODBC 架构的数据库进行存取.

3:JDBC网络纯Java驱动程序

通过中间件(middleware)来存取数据库,用户不必安装特定的驱动程序,而是调用中间件,由中间件来完成所有的数据库存取动作,然后将结果返回给应用程序

4:本地协议纯Java驱动程序

使用纯 Java 程序来编写驱动程序与数据库进行沟通,而不通过桥接或中间件来存取数据库

优点:100% Java,快又可跨平台

缺点:访问不同的数据库需要下载专用的JDBC驱动

4.访问JDBC的步骤

步骤一:加载JDBC驱动程序

mysql:com.mysql.jdbc.Driver

oracle:oracle.jdbc.driver.OracleDriver

sqlserver:com.microsoft.sqlserver.jdbc.SQLServerDriver

步骤二:提供连接参数

mysql// jdbc:mysql://主机名称[IP地址]:端口号/数据库名称?参数1&参数2

示例:jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf8;

Oracle// jdbc:oracle:thin:@主机名称:端口号:数据库SID

示例:jdbc:oracle:thin:@localhost:1521:orcl

SqlServer// jdbc:sqlserver://主机名称:端口号:DatabaseName=数据库名称

示例: jdbc:sqlserver://localhost:1433:DatabaseName=testdb

同时还需提供给用户名和密码

步骤三:建立一个数据库的连接

获取一个数据库链接对象,可用通过DriverManager类调用getConnection()方法,根据提供的url,用户名和密码来获取一个数据库链接对象。

示例:

Connection conn=DriverManager.getConnection(url,user,password);

步骤四:创建一个statement

从Connection对象中调用createStatement()方法获取一个Statement对象

示例:Statement st=conn.createStatement();

步骤五:执行SQL语句

获得Statement对象之后,可以使用Statement对象的以下方法来执行SQL:

int executeUpdate(String sql) :执行改变数据库内容的 SQL,

如INSERT、DELETE、UPDATE、CREATE TABLE、DROP TABLE等语句,返回本操作影响到的记录数。

java.sql. ResultSet executeQuery(String sql) :执行查询数据库的 SQL,如SELECT语句,返回查询到的结果集ResultSet对象。

步骤六:处理结果

执行更新操作时,返回的结果是本次操作影响到的记录数。

步骤七:关闭JDBC对象

数据库操作的代价是昂贵的。所以,在操作完成后要把所使用的JDBC对象全都显示关闭,以释放JDBC资源。

调用ResultSet的close()方法

调用Statement的close()方法,会自动关闭ResultSet

调用Connection的close()方法,会自动关闭Statement,ReslutSet
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: