`
asen09
  • 浏览: 1007 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
  • asen09: 在连接数据库之前,首先要加载欲连接数据库的驱动程序到JVM,加 ...
    JDBC简介
  • xwangly: 注册加载驱动driver JVM是如何加载的呢?
    JDBC简介
阅读更多

JDBC原理概述

1,JDBC是一套协议,是JAVA开发人员和数据库厂商达成的协议,也就是由Sun定义一组接口,由数据库厂商来实现,并规定了JAVA开发人员访问数据库所使用的方法的掉用规范。
2,JDBC的实现是由数据库厂商提供,以驱动程序形式提供。
3,JDBC在使用前要先加载驱动。
JDBC对于使用者要有一致性,对不同的数据库其使用方法都是相同的。
driver开发必须要实现Driver接口。
数据库驱动的实现方式
JDBC-ODBC桥接式

JDBC网络驱动,这种方式是通过中间服务器的协议转换来实现的
JDBC+本地驱动,这种方式的安全性比较差
JDBC驱动,由数据库厂商实现。
JDBC的API
java.sql包和javax.sql包
DriverManager类(驱动管理器),它可以创建连接,它本身就是一个创建Connection的工厂(Factory)。
Connection接口,会根据不同的驱动产生不同的连接
Statement接口,发送sql语句
ResultSet接口(结果集),是用来接收select语句返回的查寻结果的。其实质类似于集合。
JDBC应用步骤
1,注册加载一个driver驱动
2,创建数据库连接(Connection)
3,创建一个Statement(发送sql)
4,执行sql语句
5,处理sql结果(select语句)
6,关闭Statement
7,关闭连接Connection。
注意:6,7两个步骤势必须要做的,因为这些资源是不会自动释放的,必须要自己关闭
访问Oracle的数据库的驱动名字叫ojdbc14.jar,这个jar文件中出访的驱动程序的.class文件
要使用这个驱动程序,要先将他加到环境变量PATH中。
一,注册加载驱动driver,也就是强制类加载
    Class.forName(Driver包名.Driver类名)。
    Driver d=new Driver类();
    DriverManager.registerDriver(d);
    Oracle的Driver的全名oracle.jdbc.driver.OracleDriver
    mysql的Driver的全名com.mysql.jdbc.Driver
    SQLServer的Driver的全名com.microsoft.jdbc.sqlserver.SQLServerDriver
二,创建连接
    DriverManager.getConnection(String url,String username,String password);
    Connection连接是通过DriverManager的静态方法getConnection(.....)来得到的,这个方法的实质是把参数传到实际的Driver中的connect()方法中来获得数据库连接的。
    Oracle的URL值是由连接数据库的协议和数据库的IP地址及端口号还有要连接的库名(DatebaseName)
    Oracle URL的格式
    jdbc:oracle:thin:(协议)@XXX.XXX.X.XXX:XXXX(IP地址及端口号):XXXXXXX(所使用的库名)
    例:jdbc:oracle:thin:@192.168.0.39:1521:TARENADB
    MySql URL的写法
    例: jdbc:mysql://192.168.8.21:3306/test
    SQLServer URL的写法
    例:jdbc:microsoft:sqlserver://192.168.8.21:1433
    java -Djdbc.drivers=驱动全名 类名
    使用系统属性名,加载驱动 -D表示为系统属性赋值
   
    使用Connection对象获得一个Statement,Statement中的executeQuery(String sql) 方法可以使用select语句查询,并且返回一个结果集 ResultSet通过遍历这个结果集,可以获得select语句的查寻结果,ResultSet的next()方法会操作一个游标从第一条记录的前边开始读取,直到最后一条记录。executeUpdate(String sql) 方法用于执行DDL和DML语句,可以update,delete操作。
注意:要按先ResultSet结果集,后Statement,最后Connection的顺序关闭资源,因为Statement和ResultSet是需要连接是才可以使用的,所以在使用结束之后有可能起他的Statement还需要连接,所以不能现关闭Connection。
分享到:
评论
2 楼 asen09 2010-04-02  
在连接数据库之前,首先要加载欲连接数据库的驱动程序到JVM,加载方法为通过java.lang.Class类的静态方法forName(String className),例如加载SQL Server 2000数据库的驱动程序,具体代码如下:
static {
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (ClassNotFoundException e) {
System.out.println("------ 在加载数据库驱动时抛出异常,内容如下:");
e.printStackTrace();
}
}
成功加载后,会将加载的驱动类注册给DriverManager类,如果加载失败,将抛出ClassNotFoundException异常,即未找到指定的驱动类,所以需要在加载数据库驱动类时捕捉可能抛出的异常。
技巧:
通常将负责加载驱动的代码放在static块中,好处是只有static块所在的类第一次被加载时加载数据库驱动,即第一次访问数据库时,避免重复加载驱动程序,浪费计算机资源。
1 楼 xwangly 2010-04-01  
注册加载驱动driver
JVM是如何加载的呢?

相关推荐

    JDBC简介-JDBC简介

    ### JDBC简介 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,它可以为多种关系型数据库提供统一访问接口。JDBC由一组用Java语言编写的类和接口组成,使得开发人员能够通过标准的方法来连接...

    JDBC简介.md

    JDBC简介.md

    jdbc 简介 如何在tomcat 中配置数据源

    ### JDBC与Tomcat数据源配置详解 #### 一、引言 在现代Web应用程序开发中,数据库连接管理和数据访问操作是非常关键的一部分。JDBC(Java Database Connectivity)作为Java平台的标准数据库访问技术,使得开发者...

    jdbc技术简介

    JDBC简介

    spring+springMvc+jdbc 简易框架整合

    Spring、SpringMVC和JDBC是Java开发中常用的三大组件,它们在企业级应用开发中起着关键作用。本项目是将这三个框架进行简易整合的一个示例,适用于初学者理解和学习如何将这些技术融合在一起。 **Spring框架**是...

    JDK版本与JDBC版本的关系

    JDBC简介 JDBC是Java中用来连接数据库的一种标准API,它提供了一组用于执行SQL语句的方法和接口,使得Java应用程序能够通过统一的方式访问不同的关系型数据库系统。 ### 2.1 JDK与JDBC的关系 JDK版本与JDBC版本...

    J2EE体系统一,关于JDBC

    #### 一、JDBC简介 JDBC(Java Database Connectivity)是Sun Microsystems(现已被Oracle收购)推出的一种用于Java应用程序访问关系型数据库的标准接口。这一技术的发展背景主要是由于互联网的兴起带动了电子商务的...

    使用jdbc动态连接数据库

    #### 一、JDBC简介 JDBC,即Java DataBase Connectivity标准,是一个由Sun Microsystems设计的API(应用程序编程接口),它允许Java程序与各种关系型数据库进行交互。作为Java核心类库的一部分,JDBC的一个显著特点...

    尚硅谷jdbc视频教程

    #### 一、JDBC简介 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了高度的抽象层,使得开发人员能够...

    hive-jdbc-uber-2.6.5.0-292.zip

    一、Hive JDBC简介 Hive JDBC是Hive与SQL兼容的数据库访问接口,它遵循JDBC规范,允许任何支持JDBC的编程语言(如Java、Python等)连接到Hive服务器,执行查询并获取结果。Hive JDBC提供了诸如建立连接、发送SQL语句...

    一份详尽的jdbc教材

    #### 三、JDBC简介 JDBC是一种由Java编写的API,旨在使Java程序能够执行SQL语句并与关系数据库进行交互。它由一系列类和接口组成,遵循统一的标准,允许开发者编写一次代码即可跨平台和跨数据库使用。 1. **目标**...

    jdbc课程笔记教案.docx

    【JDBC 简介】 JDBC(Java Database Connectivity)是Java编程语言中用于与关系数据库交互的一种标准接口。它的出现使得开发人员可以使用Java语言来处理各种数据库,无需关心不同数据库之间的具体差异。JDBC提供了...

    驱动程序jdbc_4.2

    **一、JDBC简介** JDBC(Java Database Connectivity)是Java编程语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。它是Java平台的标准部分,允许程序员以一种标准...

    oracle-jdbc官方文档

    #### 1.1 JDBC简介 JDBC是Java平台中的一个重要组成部分,它为Java应用程序提供了访问各种类型数据库的标准接口。通过JDBC,Java应用程序可以执行SQL语句并处理结果,从而与不同的数据库进行交互。 #### 1.2 Oracle...

    JDBC.rar_ado ODBC jdbc_jdbc

    1. **JDBC简介** - JDBC是Sun Microsystems为Java程序员提供的一组API,用于与各种关系型数据库进行交互。 - 它遵循统一的接口设计,使开发者无需了解底层数据库的具体细节,就能实现跨数据库平台的数据操作。 2....

    通过JDBC通过java连接DB2数据库

    #### JDBC简介 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,它可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了高度的抽象层,允许开发者以相同的...

    SpringBoot整合hive-jdbc示例

    Hive-JDBC简介 Hive-JDBC是Hive提供的一个客户端接口,允许Java应用程序通过JDBC连接到Hive服务器,执行SQL查询并获取结果。它为Hive提供了标准的数据库访问方式,使得开发者能够像操作关系型数据库一样操作Hive。...

    小白看得懂的MySQL JDBC 反序列化漏洞分析 - 先知社区1

    #### JDBC简介 JDBC提供了一组接口和类,使得Java应用程序能够与各种数据库进行通信。开发者通过加载数据库驱动、建立连接、创建Statement或PreparedStatement对象来执行SQL查询,并通过ResultSet对象处理查询结果...

    JDBC Java代码

    #### 二、JDBC简介 JDBC 是一种在Java中以面向对象的方式连接数据库的技术。通过JDBC,程序员可以编写一次性的代码来访问各种类型的数据库,从而极大地提高了开发效率和代码的可移植性。 #### 三、JDBC的工作原理 #...

    ShardingJDBC5.1.1按月分库分表、读写分离、自动创表完整demo

    一、ShardingJDBC简介 ShardingJDBC是由Apache Software Foundation托管的开源项目,其设计理念是为Java开发者提供透明化的数据库分片解决方案。它不依赖任何特定的ORM框架,可以与JDBC、MyBatis、Hibernate等无缝...

Global site tag (gtag.js) - Google Analytics