1.首先我们来了解一下JDBC的一下原理由来,
为什么我们链接后会直接链接到数库,首先,我们来开原生的依赖包里。而原生包里到底包含了JDBC所有信息 ,类 接口 ,如图
从上图我们可以看出关于JDBC 在每次链接mysql 时,都会把依赖包放到pom里面,那我们依赖包就封装这些链接需求,如上图就可以完全可以看到包里面的类和接口 ,
驱动
那么它是怎么去驱动的呢,可以这样来理解,由A来提供这些接口 B,C,D,E来实现这个接口 同时 A在执行时,会利用多态效果去找到实现的B
java包
首先java.sql包下,提供的大量接口,这些接口为各大数据接口厂商来实现查询 statement
管理者
那么它的管理者又是谁呢?JAVA.SQL.driverMangear ,提供了一些代码,将Driver实现注册给DrierMngear,对接着各大厂商的数据去实现 sql.DriverManger
在java环境中都可以直接数据库厂商的类实现和数据库做链接
API
1.所有数据库的类,接口都在 java.sql包下
2.DriverManger类
用于注册Driver
输入数据库的链接参数(ip 端口 用户名 密码)
3.Connection接口
由数据厂商实现,每一个链接都有一个Connection对象,通过DriverManager获取Connection对象
例如10个人登录就有10个Connection对象
4.statement 接口
负责执行SQl语句
select * from user
5.prepareStatemennt 接口
负责预编译sql 语句
6.resultset 接口
用于接收结果集 表内容
7.各种各样的SQLEXCEPTION检查时异常
8.API之间多关系
jdbc技术的四大对象
连接对象:Connection
执行对象:preparedstatemnet:预编译执行对象
执行对象:Statement
结果集对象:resultset
jdbc的开发步骤:
- 加载驱动包(配置驱动包)
- 注册驱动(Class.forName(“com.mysql.jdbc.Driver”))
- 获取连接对象(用驱动管理器DriverManager获取)
DriverManager.getConnection(url,user,password); - 获取执行对象(用连接对象获取)
- 调用方法执行sql语句
- 结果集的处理(如果有(查询右结果集))
- 关闭资源