JDBC 入门 - 简介

简介

JDBC API

JDBC 是 Java 数据库连接(Java DataBase Connectivity) 的缩写, 它提供了 Java 访问各种关系型数据库的一系列 API, 功能包括:

  • 建立数据库连接
  • 创建 SQL 语句
  • 执行 SQL 语句
  • 查看或修改结果集

JDBC API 中主要几个接口:

  • DriverManager: 由于 Java 程序可能会操作多个数据库, 所以我们可能需要来自于不同数据库的连接. Driver Manager 就是用来管理一个或多个数据库驱动, 并根据需要返回不同的连接.
  • Driver: 用于管理于数据库的通信. 由 Driver Manager 内部管理, 一般很少直接适用 Driver 类, 更多的是使用 Driver Manager.
  • Connection : 提供了与数据库交互的所有方法.
  • Statement : 提供了与 SQL包 括存储过程 相关的操作.
  • ResultSet: 提供了与 SQL 查询返回结果集相关的操作
  • SQLException: 处理与数据库操作相关的异常

JDBC 驱动

JDK 中只定义了操作数据库相关的 API, 这些接口的实现, 也就是对不同数据操作的实现, 并不可能包含在 JDK 中. 这些接口一般都由第三方实现, 被称为 JDBC 驱动(driver).

JDBC 驱动的实现方式主要有四种:

1) JDBC-ODBC 桥. JDBC 驱动由 ODBC 桥接而来, 在 JAVA 刚出来的时候, 支持 ODBC 的驱动占绝大多数, 所以让这些数据库能支持 Java 的最快方式就是桥接:

2) Native-API 驱动. 对 JDBC API 的调用将会被转化成本地 C/C++ 驱动的调用, 这种方式比起第一种方式要快一些, 因为它没有了对 ODBC 的调用. 但是这种也是有局限的, 由于这些 C/C++ 本地驱动是由数据库厂商提供, 如果要更换数据库, 那么这些这些代码也要修改.

Oracle Call Interface (OCI) 就是属于这种类型, 以下是 JDBC 调用 OCI 的一个例子:

    String  query  = "select /*+ result_cache */ * from emp where empno < : 1";
       ((oracle.jdbc.OracleConnection)conn).setImplicitCachingEnabled(true);
       ((oracle.jdbc.OracleConnection)conn).setStatementCacheSize(10);
       PreparedStatement  pstmt;
       ResultSet rs;

        for (int j = 0 ; j < 10 ; j++ )
        {
           pstmt  = conn.prepareStatement (query);
           pstmt.setInt(1,7500);
           rs  = pstmt.executeQuery();
             while (rs.next( ) )
            {     // see the values  }
              rs.close;
              pstmt.close( ) ;
            }
        }

3) 纯Java中间件驱动. 使用了三层结构, 本地的 JDBC API 调用通过网络协议发送到中间件服务器, 中间件服务器解析后再调用实际的JDBC驱动(1,2,4型).如图:

4) 纯Java驱动. 数据库厂商提供了 Java 驱动, 它比起第一和第二种类型驱动要快, 并且不像第三种驱动那样依赖网络.

时间: 2024-11-03 20:06:01

JDBC 入门 - 简介的相关文章

01.JDBC入门

一.JDBC入门 1.JDBC简介 JDBC, 即Java Database Connectivity,JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序.即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库,比如建立数据库连接.执行SQL语句进行数据的存取操作. JDBC规范采用接口和实现分离的思想设计了Java数据库编程的框架.接口包含在java.sql及j

Junit(3)JUnit和单元测试入门简介

1.几个相关的概念 白盒测试--把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人员是公开的. 回归测试--软件或环境的修复或更正后的"再测试",自动测试工具对这类测试尤其有用. 单元测试--是最小粒度的测试,以测试某个功能或代码块.一般由程序员来做,因为它需要知道内部程序设计和编码的细节. JUnit --是一个开发源代码的Java测试框架,用于编写和运行可重复的测试.他是用于单元测试框架体系xUnit的一个实例(用于java语言).主要用于白盒测试,回归测试. 2.

21、jdbc入门1

jdbc入门 什么是jdbc 使用java代码(程序)发送sql语句的技术,就是jdbc技术!!!! 连接案例 /** * jdbc连接数据库 * @author APPle * */ public class Demo1 { //连接数据库的URL private String url = "jdbc:mysql://localhost:3306/day17"; // jdbc协议:数据库子协议:主机:端口/连接的数据库 // private String user = "

Spring JDBC入门

Spring将替我们完成所有使用JDBC API进行开发的单调乏味的.底层细节处理工作. 操作JDBC时Spring可以帮我们做这些事情: 定义数据库连接参数,打开数据库连接,处理异常,关闭数据库连接 我们仅需要关注: 声明SQL语句,处理每一次得到的结果 一个较为简单的例子与讲解 JdbcTemplate类 JdbcTemplate是core包的核心类.它替我们完成了资源的创建以及释放工作,从而简化了我们对JDBC的使用.它还可以帮助我们避免一些常见的错误,比如忘记关闭数据库连接.JdbcTe

Dubbo入门简介(一)

Dubbo入门简介(一) 一.什么是Dubbo Dubbo是阿里巴巴开源出来的一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.通过扩展spring schema 和 注解标签,可以和spring无缝集成(http://blog.csdn.net/achilles12345/article/details/41789527) 核心组件: Remoting:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交

zabbix专题:第一章 zabbix入门简介(更新中)

zabbix入门简介 备注:本章节图片来自互联网 对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本节目录大纲 zabbix专题:第一章 zabbix简介 我们为什么需要监控? 常用的开源监控系统有哪些? Zabbix是什么? Zabbix的功能和特性 Zabbix的架构 Zabbix的工作流程 zabbix的进程 zabbix的逻辑关系图 zabbix监控环境中相关术语 zabbix的流程图,其串联了各术语之间的关系 zabbix的监控架构 zabbix专题:第一章 zabb

web day17 JDBC入门,DAO模式mySQL时间类型转换,批处理

JDBC入门 1.JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库. 2.JDBC原理 最终得出的结论是,由SUN提供一套访问数据库的规范(就是一组接口),并提供连接数据库的协议标准,然后各个数据库厂商会遵循SUN的规范提供一套访问自己公司的数据库服务器的API出现.SUN提供的规范命名为JDBC,而各个厂商提供的,遵循了JDBC规范的,可以访问自己数据库的API被称之为驱动! 3.JDBC核心类(接口)介绍 JDBC中

Unity 3D入门简介

最近在刚开始学习Unity 3D,在这里记录一下学习心得和学习笔记,边学边写,可能会比较零散.好了,废话不多说,今天从Unity 3D入门写起,主要简要介绍一下Unity 3D的和一些学习资料.以下如果不作特别说明,均是指Windows平台的Unity 3D,版本是4.5.1f3. Unity 3D是一款游戏开发引擎,目前支持2D和3D游戏的开发,其最大的优势就是跨平台性非常好,可以很容易的将PC端制作的游戏移植到Android.IOS等移动平台,当然也可以创建网页游戏.刚开始进行Unity 3

day17(JDBC入门&jdbcUtils工具介绍)

day17 JDBC整体思维导图 JDBC入门 导jar包:驱动! 加载驱动类:Class.forName("类名"); 给出url.username.password,其中url背下来! 使用DriverManager类来得到Connection对象! ? ? ? 1 什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java