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
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
相关文章推荐
- JDBC应用程序常见接口API和基本操作步骤
- JDBC对数据表的基本操作(JDBC之二)
- 【Java基础知识】JDBC基本操作
- JDBC应用程序常见接口API和基本操作步骤
- JDBC的连接及基本操作
- 案例JDBC 基本操作(二)
- JDBC基本操作示例
- JDBC: 数据库基本操作演示程序
- jdbc操作sql server数据库的基本操作以及一些问题
- Mysql基本操作及JDBC的增删改查操作实践
- JDBC(一 JDBC的基本操作CRUD)
- JDBC操作数据库基本封装
- 【Java基础知识】JDBC基本操作
- JDBC的基本操作
- jdbc连接mysql + 基本操作接口
- 【持久层】JDBC详解之基本操作
- JDBC基本操作介绍
- jdbc 通过模板的设计模式 封装基本数据库操作
- Spring JDBC模版基本操作示例
- Jdbc基本操作<一>