1、JDBC是什么?
Java DataBase Connectivity(Java语言连接数据库)
2、JDBC的本质
JDBC是SUN公司制定的一套接口(interface)
接口都有调用者和实现者。
java.sql.*;(这个软件包下有很多接口,java的数据库连接接口就在此包下)
为什么要面向接口编程?
解耦合:降低程序的耦合度,提高程序的扩展力。
为什么要制定一套JDBC接口?(解耦合)
因为每个数据库的底层原理都不一样。
如果需要通过Java连接n种不同厂商的数据库,那么就要编写n种符合各样数据库要求的Java程序代码。
假设你的公司去做项目,结果n个客户做要求使用的数据库都不一样,那公司里的程序员就要编写n种Java程序来连接这n种不同的数据库,这不得累死。。。
所以SUN公司打算制定这一套JDBC接口,然后各个数据库厂商积极响应,以这一套SUN公司出的JDBC接口来对其进行实现,如下图所示
图片源自b站 JDBC从入门到精通视频教程-JDBC实战精讲
还没理解的小伙伴再看看下面
例:比如一台手机就是一家厂商的数据库,现在需要给手机充电,我们就是充电器,但是每台手机的充电口都不一样,有苹果的lightning,安卓的type-c和老式的mirco-pro
假设女朋友出去玩叫你给他带充电宝和线,女朋友家很有钱什么手机都有,我就一穷屌丝也不知道她会带什么手机,为了能够完成她提出的要求,我就只好带了一书包各式各样的数据线,电倒是冲上了,但是每次都这样子实在是太费精力了。
但是我的行为感动了各大手机厂商,他们觉得我是个负责的Good Boy 于是他们斥重金来为我量身定制了一款万能充电器,一边是USB接口可以连接我的充电宝,另一边则是分支成各个手机的充电器接口,从今以后我就再也不需要耗费巨大的尽力来准备海量的数据线了,我只需要实现充电宝这一头的要求,准备一个能插上USB接口的充电宝就行了。JDBC就是这个万能充电器,它为我们程序员制定了统一的接口相当于万能充电器另一端的USB接口,各大厂商对接口的实现就是各个分支数据线端口。