`

[转]JDBC(一)

阅读更多
 

JDBC

什么是JDBC?<o:p></o:p>

Java语言访问数据库的一种规范,是一套API<o:p></o:p>

JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库。比如建立数据库连接、执行SQL语句进行数据的存取操作。<o:p></o:p>

 <o:p></o:p>

   JDBC规范采用接口和实现分离的思想设计了Java数据库编程的框架。接口包含在java.sqljavax.sql包中,其中java.sql属于JavaSEjavax.sql属于JavaEE。这些接口的实现类叫做数据库驱动程序,由数据库的厂商或其它的厂商或个人提供。<o:p></o:p>

 <o:p></o:p>

   为了使客户端程序独立于特定的数据库驱动程序,JDBC规范建议开发者使用基于接口的编程方式,即尽量使应用仅依赖java.sqljavax.sql中的接口和类。

 

JDBC驱动程序:<o:p></o:p>

什么是JDBC驱动程序?<o:p></o:p>

这些是各个数据库厂家根据JDBC的规范制作的JDBC实现类<o:p></o:p>

JDBC驱动程序的四种类型:<o:p></o:p>

1.       第一种类型的驱动程序的实现是通过将JDBC的调用全部委托给其它编程接口来实现的,比如ODBC。这种类 型的驱动程序需要安装本地代码库,即依赖于本地的程序,所以便携性较差。比如JDBC-ODBC桥驱动程序<o:p></o:p>

2.       第二种类型的驱动程序的实现是部分基于Java语言的。即该驱动程序一部分是用Java语言编写,其它部分委托本地的数据库的客户端代码来实现。同类型1的驱动一样,该类型的驱动程序也依赖本地的程序,所以便携性较差<o:p></o:p>

3.       第三种类型的驱动程序的实现是全部基于JAVA语言的。该类型的驱动程序通常由某个中间件服务器提供,这样客户端程序可以使用数据库无关的协议和中间件服务器进行通信,中间件服务器再将客户端的JDBC调用转发给数据库进行处理<o:p></o:p>

4.       第四种类型的驱动程序的实现是全部基于JAVA语言的。该类型的驱动程序中包含了特定数据库的访问协议,使得客户端可以直接和数据库进行通信<o:p></o:p>

 <o:p></o:p>

JDBC类结构:<o:p></o:p>

                           DriverManager

<o:p></o:p> 

<o:p></o:p>

Driver                               Driver<o:p></o:p>

 <o:p></o:p>

Connection                         Connection<o:p></o:p>

 <o:p></o:p>

Statement                                  Statement<o:p></o:p>

 <o:p></o:p>

Resultset                                    Resultset<o:p></o:p>

<o:p></o:p> 

DriverManager:这个是一个实现类,它是一个工厂类,用来生产Driver对象的<o:p></o:p>

这个类的结构设计模式为工厂方法<o:p></o:p>

Driver:这是驱动程序对象的接口,它指向一个实实在在的数据库驱动程序对象,那么这个数据库驱动程序对象是从哪里来的呢?<o:p></o:p>

DriverManager工厂中有个方法:getDriver(String URL),通过这个方法可以得到驱动程序对象,这个方法是在各个数据库厂商按JDBC规范设计的数据库驱动程序包里的类中静态实现的,也就是在静态块中<o:p></o:p>

Connection:这个接口可以制向一个数据库连接对象,那么如何得到这个连接对象呢?<o:p></o:p>

是通过DriverManager工厂中的getConnection(String URL)方法得到的<o:p></o:p>

Statement:用于执行静态的SQL语句的接口,通过Connection中的createStatement方法得到的<o:p></o:p>

Resultset:用于指向结果集对象的接口,结果集对象是通过Statement中的execute等方法得到的<o:p></o:p>

 <o:p></o:p>

JAVA使用JDBC访问数据库的步骤:<o:p></o:p>

1.     得到数据库驱动程序<o:p></o:p>

2.     创建数据库连接<o:p></o:p>

3.     执行SQL语句<o:p></o:p>

4.     得到结果集<o:p></o:p>

5.     对结果集做相应的处理(,,,)<o:p></o:p>

6.     关闭资源:这里释放的是DB中的资源<o:p></o:p>

 <o:p></o:p>

  <o:p></o:p>

设置classpath:<o:p></o:p>

1.     java文件中起的包名一定要是工程基目录下的子目录,classpath:基目录<o:p></o:p>

2.     .jar,需要将这个.jar包的路径包括这个文件的全名添加到classpath中来<o:p></o:p>

Oracle连接字符串的书写格式:<o:p></o:p>

“oracle:jdbc:thin:@ip:1521: 数据库名”,”数据库用户名”,”数据库密码”<o:p></o:p>

 <o:p></o:p>

简单的例子:<o:p></o:p>

package moudule1.first;<o:p></o:p>

 <o:p></o:p>

import java.sql.*;<o:p></o:p>

 <o:p></o:p>

public class FirstJdbc<o:p></o:p>

{<o:p></o:p>

      public static void main(String[] args)<o:p></o:p>

      {<o:p></o:p>

                 String sql="select * from yuchen_user";<o:p></o:p>

                 Connection con=null;<o:p></o:p>

                 Statement st=null;<o:p></o:p>

                 ResultSet rs=null;<o:p></o:p>

                 <o:p></o:p>

       try<o:p></o:p>

       {  <o:p></o:p>

                 Class.forName("oracle.jdbc.driver.OracleDriver");<o:p></o:p>

                 con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:name", "scott","tiger");<o:p></o:p>

                 st=con.createStatement();<o:p></o:p>

                 rs=st.executeQuery(sql);<o:p></o:p>

                 while(rs.next())<o:p></o:p>

                 {<o:p></o:p>

                            System.out.println(rs.getInt("id"));<o:p></o:p>

                            System.out.println(rs.getString("name"));<o:p></o:p>

                 }<o:p></o:p>

       }catch(Exception e)<o:p></o:p>

       {<o:p></o:p>

                 e.printStackTrace();<o:p></o:p>

       }finally<o:p></o:p>

       {<o:p></o:p>

                 try<o:p></o:p>

                 {<o:p></o:p>

                      con.close();<o:p></o:p>

                 }catch(Exception e)<o:p></o:p>

                 {}<o:p></o:p>

                 <o:p></o:p>

                 try<o:p></o:p>

                 {<o:p></o:p>

                      st.close();<o:p></o:p>

                 }catch(Exception e)<o:p></o:p>

                 {<o:p></o:p>

                 }<o:p></o:p>

                 <o:p></o:p>

                 try<o:p></o:p>

                 {<o:p></o:p>

                      rs.close();<o:p></o:p>

                 }catch(Exception e)<o:p></o:p>

                 {<o:p></o:p>

                 }<o:p></o:p>

                      <o:p></o:p>

       }<o:p></o:p>

分享到:
评论

相关推荐

    JDBC资料文档第一部分

    ### JDBC资料文档第一部分 #### 一、JDBC 概述 JDBC(Java Database Connectivity),即Java数据库连接,是一种用于执行SQL语句的标准Java API,它可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类...

    jdbc学习手册 jdbc

    JDBC(Java DataBase Connectivity),即Java数据库连接,是由Sun Microsystems(现已被Oracle收购)制定的一种用于执行SQL语句的Java API,它可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口...

    JDBC 开发指南 JDBC 开发指南 JDBC 开发指南

    Java Database Connectivity (JDBC) 技术是实现这一目标的关键技术之一,它提供了一种标准的 Java API,使得 Java 应用程序能够与各种类型的数据库进行交互。本文将基于“JDBC 开发指南”提供的内容,深入探讨 JDBC ...

    一份详尽的jdbc教材

    ### 一份详尽的JDBC教材 #### 一、引言 JDBC(Java Database Connectivity)是Java平台上的一个重要组成部分,它提供了与各种关系数据库进行交互的能力。本教材旨在为初学者及进阶用户深入理解并掌握JDBC的核心概念...

    JDBC 4.3规范文档

    JDBC是一个标准Java API,它允许Java程序运行在不同数据库管理系统(DBMS)之间。JDBC规范定义了Java程序如何与数据库交互的规则,其主要目的是让程序员能够使用统一的方法连接并操作数据库。 在本规范文档中,我们...

    jdbc资料jdbc资料jdbc资料pdf

    **JDBC**(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了与数据库建立连接、发送SQL语句并处理结果的基本...

    JDBC学习笔记--JDBC学习笔记

    JDBC(Java DataBase Connectivity)是一种Java程序语言访问数据库的标准接口。它使得Java程序可以连接到各种不同的数据库管理系统,例如Oracle、SQL Server、MySQL、DB2、Sybase等。 JDBC的概念 JDBC是Java程序...

    JDBC与Java数据库编程

    #### 第一章:JDBC的概念 **1.1 JDBC是什么** JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,它可以为多种关系数据库提供统一的访问接口。JDBC的目标是允许开发人员能够编写数据库独立的...

    jdbc java file config

    Java数据库连接(JDBC)是一种允许使用SQL语句操作关系数据库的Java API。JDBC API由用Java编写的类和接口组成。JDBC API允许开发人员使用纯Java编写可移植的数据库应用程序。这些应用程序之所以可移植,是因为特定...

    Access_JDBC30

    标题 "Access_JDBC30" 暗示了这是一个与Microsoft Access数据库相关的Java JDBC驱动程序。JDBC(Java Database Connectivity)是Java编程语言中用于连接和操作数据库的标准接口。这个jar包,"Access_JDBC30.jar",...

    JDBC主要API介绍.pdf

    JDBC(Java Database Connectivity)是Java语言用于数据库连接的一套API。它为开发者提供了一种操作数据库的标准化方法,允许Java程序执行SQL语句并返回结果。JDBC API位于java.sql和javax.sql包中,其中java.sql是...

    ApacheCamel-JDBC

    JDBC(Java Database Connectivity)是Java平台中的一个标准API,用于与各种数据库进行交互。Apache Camel 的 JDBC 组件就是将这两个强大的工具结合在一起,使开发者能够方便地在Camel路由中执行SQL查询和操作数据库...

    jdbc核心代码.docx

    JDBC是Java语言中用于连接数据库的API(Application Programming Interface),它提供了一种统一的方式来访问不同的数据库管理系统。使用JDBC,开发者可以编写Java程序来连接数据库、执行SQL语句、处理结果集和释放...

    hana jdbc ngdbc.jar com.sap.db.jdbc.Driver

    指的是 SAP HANA 数据库的 JDBC 驱动程序,其核心组件是一个名为 `ngdbc.jar` 的 Java 类库。这个驱动程序允许 Java 应用程序通过 JDBC(Java Database Connectivity)接口与 SAP HANA 数据库进行交互。JDBC 是一个...

    gt-jdbc-2.6.5.jar_oracle_jdbc_Geotools_

    标题中的“gt-jdbc-2.6.5.jar”是一个Java数据库连接(JDBC)驱动程序,用于连接Oracle数据库,并且是Geotools项目的一部分。Geotools是一个开源的Java库,专门用于处理地理空间数据,它提供了丰富的API来操作和展示...

    hive jdbc依赖的jar包

    Hive JDBC是Apache Hive项目的一部分,它提供了一个Java数据库连接(JDBC)接口,使得其他应用程序,如Python、Java或任何支持JDBC的环境,能够与Hive进行交互。Hive JDBC驱动程序允许用户通过标准的JDBC API来执行...

    SAP PI JDBC 可使用语句的示例

    它支持多种消息传输协议和技术栈,其中 JDBC(Java Database Connectivity)适配器是其用于与外部数据库系统进行交互的重要工具之一。本文将基于提供的文档片段,详细阐述 SAP PI 在使用 JDBC 适配器时的关键概念,...

    JDBC_一对多查询_JDBC_daoB[收集].pdf

    在Java的JDBC(Java Database Connectivity)中,一对多查询是指一个表中的记录与另一个表中的多条记录之间存在关联关系。在这个例子中,我们看到的是"Grades"(年级)与"Students"(学生)之间的关系,一个年级可以...

    Oracle12C JDBC 驱动

    JDBC(Java Database Connectivity)是Java平台中的一个标准API,它允许Java程序通过Java语言来访问和操作数据库。在Oracle12C环境中,JDBC驱动扮演着桥梁的角色,将Java应用程序的SQL语句转化为Oracle数据库能够...

    sun.jdbc.odbc.JdbcOdbcDriver.zip

    标题中的"sun.jdbc.odbc.JdbcOdbcDriver.zip"是一个包含Java数据库连接(JDBC)驱动的压缩包,主要用于在Java应用程序中通过ODBC(Open Database Connectivity)接口访问各种数据库。这个驱动,也称为JDBC-ODBC桥,...

Global site tag (gtag.js) - Google Analytics