JDBC概述 [Java][概述]

JDBC(Java Database Connectivity)概述

java中的数据存储技术

  1. 通过JDBC直接访问数据库

  2. JDOC(Java Data Object)技术

  3. 第三方O/R工具(如: Hibernate , MyBatis等)

注意: JDBC是java访问数据库的基石,JDOC,Hibernate,MyBatis等只是更好的封装了JDBC.

JDBC介绍:

  1. JDBC是一个独立于特定数据库管理系统,是一个通用的SQL数据库存取和操作的公共接口(一组API),JDBC中定义了用来访问数据库的标准java类库,使用这些类库可以以一种标准的方法,方便的访问数据库资源
    • 这些标准的java类库定义在了java.sql包和javax.sql包下
      • 我们可以发现在java.sql包和javax.sql包中绝大多数是接口,极少一部分为类,为什么?
        • 其实这个就是为什么说JDBC是一种通用的SQL数据库的存取和操作的公共API的原因,因为我们在java.sql和javax.sql包下大多数定义的都是接口,我们在使用这些借口的时候会根据面向的不通过的DBMS(数据库管理系统)而选择不同的实现类去实现,也就是根据不同的DBMS我们才会去选择具体的创建的哪个实现类的对象
其实为什么说我们的JDBC是一个独立于特定数据库管理系统的对SQL数据库存取和操作的公共接口,就是因为JDBC中定义的绝大多数的API都是接口,我们的定义的接口就相当于定义的一个个的规范,我们也只是定义这个规范,具体的实现就交给具体的数据库厂商去完成
  1. JDBC为访问不同的数据库提供了一种统一的途径,为java开发者屏蔽了一些细节问题

  2. JDBC的目标是让java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库管理系统,这样就使得程序员无需对特定数据库的特点有过多的了解,从而大大简化了和加快了开发过程

如果没有JDBC,那么java程序中访问数据库就是如下的:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TUZxyeQ8-1648398853469)(E:\非凡英才\数据库笔记\运算结果\如果没有JDBC时Java访问数据库的图解.png)]

  • 从这个图中我们可以发现: 如果没有JDBC,那么在java程序中我们就要直接面向特定的数据库管理系统,这个时候对于不同的数据库我们在Java程序中就要提供不同的连接方式,很繁琐,会给Java程序员造成一定的麻烦,java程序员在和特定的数据库建立连接的时候就要对Java中与这种数据库连接的方式有一定程度的了解

有了JDBC只有,Java程序访问数据库就是这样的:(如下:)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fNYHJfVw-1648398853470)(E:\非凡英才\数据库笔记\运算结果\有了JDBC之后java程序访问数据库的图解(真实情况)].png)

  • 这里我们Java中提供了一套具体的规范(接口),接口中定义有抽象方法,不去具体实现,具体的实现分别在JDBC驱动中,而JDBC驱动右各个数据库厂商完成,我们java中只是定义一个规范(接口),具体的实现还是由各个数据库厂商来完成
    • 这样的方式我们的java程序员就能很轻松的和不同的数据库之间完成连接

JDBC体系结构:

JDBC接口(API)主要分为两个层次
  1. 面向应用的API: JavaAPI,抽象接口,供java开发人员使用(连接数据库,执行SQL语句,获得结果等等)
  2. 面向数据库的API : JavaDriverAPI(JDBC驱动),供开发商开发数据库驱动程序使用

补充:

JDBC是Sun公司提供的一套用于数据库操作的接口,Java程序员只需要面向这要接口编程即可,不同的数据库厂商则需要针对这套接口提供不同的实现 ----- 面向接口编程

  • 不同的实现的集合即为不同数据库的驱动
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值