一、JDBC Overview(由来,概念)
- A:JDBC:基于java语言操作数据库
- 作用:
- java数据库(关系型数据库)连接进行交互;
- 使用jdbc操作数据(执行SQL语句);
- 处理结果集;
- 使用元数据(metadata)查看数据库结构;
- 连接数据库oracle。
- 作用:
- B:连接数据库的方式(规范)
- ODBC(Open DataBase Connectivity):基于C语言规范,连接数据库和访问数据库元数据;
- JDBC:基于java的ODBC
- C:JDBC API(JDBC Application Program Interface)是什么:
- 一种访问关系型数据库的标准(规范);
- java程序语言的一些类和一些接口(规范)
- D:JDBC的作用:
- 连接数据库;
- 执行SQL语句;
- 返回和处理结果集(执行完SQL语句后)
- E:使用JDBC API对象:
- JDBC驱动开发人员:根据API规范开发驱动,用来实现连接数据库的底层实现;(数据库厂商提供)
- 开发人员:java程序开发人员,使用JDBC驱动连接数据,自定义实现API接口规范,与数据库进行交互,完成开发的功能需求。
- F:什么是JDBC Driver:
- 实现了JDBC API规范的类或者接口;
- 提供了实现了java.sql.Driver接口的类(用来分析数据库信息,连接数据库)。
- G:JDBC连接数据库:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vm5PPopX-1572341342579)(E:\杰普实训\第一阶段\jdbc\9-12 Day1\四种驱动类型.PNG)]
- Java Application:开发人员按照JDBC API规范,实现功能,自行定义;列如,插入数据,获取数据;
- JDBC Driver Manager(注册驱动管理):由jvm提供的类,管理不同的驱动,相当于一个辅助工具类;
- 四种驱动类型:
- JDBC—ODBC桥: 是sun公司提供的,是jdk提供的的标准API. 这种类型的驱动实际是把所有 JDBC的调用传递给ODBC ,再由ODBC调用本地数据库驱动代码.( 本地数据库驱动代码是指 由数据库厂商提供的数据库操作二进制代码库,例如在oracle for windows中就是oci dll 文 件);
- 先调用 ODBC再由ODBC去调用本地数据库接口访问数据库.所以,执行效率比较低;
- 要求客户端必须安装ODBC 驱动,所以对于基于 internet ,intranet的应用也是不合适的.
- 本地API驱动:本地API驱动直接把JDBC调用转变为数据库的标准调用再去访问数据库;
- 需要本地数据库驱动,本地API驱动,厂商DB代码;不适合基于internet的应用。
- 网络协议驱动(JDBC-NET Driver):相当于网络传输协议(三握手TCP/IP协议),JDBC先将访问数据库请求上传到中间服务器,中间服务器再把请求翻译为符合数据库API的调用,再传给数据库服务器,进行调用
- 网络协议驱动—中间服务器—数据库server
- 由于这种驱动是基于server的.所以,它不需要在客户端加载数据库厂商提供的代码库;
- 大部分功能实现都在server端,所以这种驱动 可以设计的很小,可以非常快速的加载到内存中;
- 驱动在中间件层仍然需要有配置 其它数据库驱动程序,并且由于多了一个中间层传递数据,它的执行效率还不是最好。
- 本地协议驱动:直接将JDBC调用转换为符合相关数据库系统规范的请求.这种驱动写的应用可以直接和数据库服务器通讯.这种类型的驱动完全由java实现,因此实现了平台独立性;
- 本地协议驱动---------数据库Server
- 不同类型数据只需要下载不同的驱动(第三方jar包)
- JDBC—ODBC桥: 是sun公司提供的,是jdk提供的的标准API. 这种类型的驱动实际是把所有 JDBC的调用传递给ODBC ,再由ODBC调用本地数据库驱动代码.( 本地数据库驱动代码是指 由数据库厂商提供的数据库操作二进制代码库,例如在oracle for windows中就是oci dll 文 件);
- H:java中JDBC接口规范的实现:
- java.sql:standard edition(J2SE) ,java连接数据库规范的接口或者实现类都在java.sql