JDBC编程(一)-1

  • 一、理解JDBC原理

关系型数据库

Oracle、MySQL等

当前信息管理的主流技术

RDBMS-relational database management system

一对多,通过外键(cid班级id)关联存储;多对多关系存储,通过关系表(uid用户id,rid角色id)关联存储

JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力

什么是JDBC

JDBC(Java Database Connectivity)是为Java程序中访问数据库而设计的一组Java API, JDBC中包括了一组由Java语言书写的接口和类,它们都是独立于特定的DBMS。JDBC是Java数据库应用开发中的一项核心技术。   

JDBC是Java SE的一部分,由java.sqljavax.sql包组成。

有了JDBC,程序员可以方便地在Java语言中使用SQL语言,从而使Java应用程序或Java Applet可以实现对分布在网络上的各种关系数据库的访问.

使用了JDBC以后,程序员可以将精力集中于上层的功能实现,而不必关心底层与具体的DBMS的连接和访问过程。

JDBC程序的工作原理

JDBC API

  1. 提供者:Sun公司
  2. 内容:供程序员调用的接口与类,集成在java.sql和javax.sql包中,如:
    1. DriverManager类
    2. Connection接口
    3. Statement接口
    4. ResultSet接口

DriverManager

  1. 提供者:Sun公司
  2. 作用:管理各种不同的JDBC驱动

JDBC 驱动

  1. 提供者:数据库厂商
  2. 作用:负责连接各种不同的数据库

JDBC包含两部分:与数据库独立的API(面向程序开发人员的JDBC API)和面向底层的JDBC Driver API(数据库厂商完成)。

面向程序开发人员的JDBC API被描述成为抽象的Java接口,通过这些接口应用程序可以对某个数据库打开连接,执行SQL语句并且处理结果。

JDBC的驱动管理器负责管理针对各种类型DBMS的JDBC驱动程序。也负责和用户的应用程序交互,为Java应用程序建立数据库连接。

Java应用程序通过JDBC API向JDBC驱动管理器发出请求,指定要装载的JDBC驱动程序类型和数据源。驱动管理器会根据这些要求装载合适的JDBC驱动程序并使该驱动连接相应的数据源。一旦连接成功,该JDBC驱动程序就会负责Java应用与该数据源的一切交互,即作为中间的翻译将Java应用中对JDBC API的调用转换成特定DBMS能够理解的命令,将数据库返回的结果转换成Java程序所能识别的数据。

主要SQL语句

  1. SELECT
  2. INSERT
  3. DELETE
  4. UPDATE
  5. CREATE
  6. DROP 

JDBC编程接口

JDBC是进行数据库连接的抽象层

JDBC支持和ANSI SQL-2标准相兼容的数据库(支持标准的SQL语句)

JDBC的两个部分

  1. 数据库厂商提供的实现接口(spi)
  2. 应用程序实现的编程接口(api)

重要的接口

  1. java.sql.Connection
  2. java.sql.Statement
  3. java.sql.PreparedStatement
  4. java.sql.CallableStatement
  5. java.sql.ResultSet
  6. java.sql.Driver

JDBC API

JDBC API可做三件事:与数据库建立连接、执行SQL 语句、处理结果

  1. DriverManager :依据数据库的不同,管理JDBC驱动
  2. Connection :负责连接数据库并担任传送数据的任务  
  3. Statement :由 Connection 产生、负责执行SQL语句
  4. ResultSet:负责保存Statement执行后所产生的查询结果

JDBC API层次结构

JDBC驱动

JDBC驱动由数据库厂商提供

  1. 在个人开发与测试中,可以使用JDBC-ODBC桥连方式(基本不使用)(依赖于Windows操作系统)
  2. 在生产型开发中,推荐使用纯Java驱动方式(最为常用)

【JDBC 驱动类型】

 JDBC驱动有四种类型:JDBC-ODBC桥、本地API部分Java驱动、网络协议完全Java驱动(建议使用这种)、本地协议完全Java驱动。

  • 1.JDBC-ODBC桥(JDBC-ODBC bridge)

       这种驱动实际上是利用了现有的ODBC,将JDBC调用翻译为ODBC的调用。这种类型的驱动使Java应用可以访问所有支持ODBC的DBMS。

  • 2.本地API部分Java驱动(native-API java driver)

      这种驱动方式将数据库厂商的特殊协议转换成Java代码及二进制类码,使Java数据库方与数据库服务器通信。

JDBC驱动—JDBC-ODBC桥

  1. 使用JDBC-ODBC桥方式连接数据库
  2. 将对JDBC API的调用,转换为对另一组数据库连接API的调用
  3. 优点:可以访问所有ODBC可以访问的数据库
  4. 缺点:执行效率低、功能不够强大

ODBC(Open Database Connectivity,开放数据库互连)是微软公司开发的有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。 

不在Java应用程序中使用ODBC的原因:ODBC是一个C语言实现的API,从Java程序中调用本地的C程序会带来一系列类似安全性、健壮性的缺点。

JDBC-ODBC桥使用基本步骤:

  1.  建立ODBC数据源
  2.  使用jdbc-odbc桥来操纵

纯Java方式连接

  • 3.网络协议完全Java驱动(net-protocol java driver)(适合在广域网中用,Internet等)

         这种驱动器将JDBC指令转化成独立于DBMS的网络协议形式,再由服务器转化为特定DBMS的协议形式。有关DBMS的协议由各数据库厂商决定。这种驱动器可以链接到不同的数据库上,最为灵活。(完全遵循Java协议标准的)

  • 4.本地协议完全Java驱动(native-protocol fully driver)(适合在局域网中用)

       这种驱动器将JDBC指令转化成网络协议后不再转换,而是由DBMS直接使用。相当于客户机直接与服务器相连写,对局域网适用。

JDBC驱动—纯Java方式连接

  1. 使用纯Java方式连接数据库 
  2. 由JDBC驱动直接访问数据库
  3. 优点:100% Java,快又可跨平台
  4. 缺点:访问不同的数据库需要下载专用的JDBC驱动

驱动小结

在这四种驱动器中,后两种“纯Java”的驱动器效率更高,也更具有通用性。但目前第一、第二类驱动器比较容易获得,使用不普遍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值