什么是JDBC

JDBC(Java Data Base Connectivity, Java数据库连接)是Java程序和数据库之间的桥梁,包含 了一套Java定义的用于执行SQL语句的接口,使开发者能够编写数据库的程序

接口是一套规则,接口中定义一系统方法,这些方法由具体的实现类去完成实现

JDBC工作原理

JDBC工作原理简洁地概括为:

1.确定数据库服务器的地址,端口号       (数据源)

2.建立连接,用户名,密码 ,不同数据库以哪种协议建立连接  (数据库连接)

3.发送要执行的SQL,以什么样的形式发送,这里主要考虑编码的格式协议     (执行对象)

这里的协议是指事先商量好的规则

4.接受返回结果,包括结果集,受影响的行数,以哪种协议解析结果  (结果集)

5.关闭连接  (释放资源,关闭连接)

JDBC的补充

JDBC是JAVA平台提供的接口,具体实现是由数据库厂商去完成的

使用JAVA数据库,必须处理不同数据库对数据的编码集

这些对于数据的具体的操作由数据库厂商来实现,不要让JAVA程序员再去处理数据之间的差异

使用JDBC

JDBC使用过程可以概括为:加载数据库厂商的驱动包、建立连接、创建Statement、执行SQL、 处理结果释放资源和关闭连接。

创建Maven工程并配置国内镜像

MAVEN内似于应用商店,在maven维护了所有的JAVA工程需要用到的依赖

默认仓库是国外的,需要通过镜像修改为阿里云的

创建MAVEN工程

获取MySQL驱动包

修改pom.xml文件

如果说这里出现了8.0.33也就刚才在POM.XML中添加的依赖,就说明已经添加成功

而前面的阿里云是加速这里maven的下载

JDBC使用过程可以概括为

加载数据库厂商的驱动包

通过数据库厂商的提供的驱动来操作数据库

驱动管理类DriverManager

使用 DriverManager 的静态方法获取数据库连接

建立数据库连接

加载数据库厂商提供的驱动

通过完全限定名加载到指定的类到JVM

JDBC URL

url指定了数据库的地址,是一个固定写法

获取数据库连接

创建Statement

用来执行SQL的对象

执行SQL

定义SQL并且执行SQL语句

接受用户的输入

执行SQL,获取查询结果

结果集

对结果集进行遍历,获取数据,如果有下一条记录,返回true,没有则返回false

 依次释放资源和关闭连接。

按照倒序依次捕获异常

结果输出

DataSource连接池技术

之前的DriverManager.getConnection每次获取的是一个物理连接

通过数据源的方法,在实际开发中经常用到

通过此法,一个链接可以执行很多SQL,直到关闭数据源

通过一个连接池去管理很多链接,当需要SQL执行的时候,从连接池里拿一个空间连接出来,用完后返回给连接池

定义MySQL数据源对象

设置数据库连接串

?是占位符

用户名

密码

定义JDBC的数据源对象

定义连接对象

定义预处理SQL执行对象

定义结果对象

1.通过数据源获取数据库连接

2.获取预处理的SQL执行对象

定义要执行的SQL

接受用户输入

3.用真实值替换占位符

编号从1开始,有多少个参数就设置多少个值

4.执行SQL,获取结果集

5.遍历结果集

   获取学生Id

依次释放资源,关闭连接

通过以上两个例子,我们不难发现部分操作是重复的,那我们可以将其写成一个类

DButil

数据源定义与准备操作

当类加载到JVM的时候,执行数据源的初始化

获取数据库连接

释放资源,关闭连接

通过以上操作我们就创建了一个DBUtil的类,可以简化DataSource的数据初始化和关闭操作

,对于插入操作也同样可以定义类的方法来简化操作

Insert

在使用DBUtil的操作上进行插入操作

获取数据库连接

定义SQL

定义SQL的预处理对象

接受用户参数

用真实数据填充占位符

执行SQL获取结果

判断结果

释放资源,关闭连接

插入操作需不需要定义结果集对象?

不用,因为insert返回的是受影响的行数

在使用idea时发现可以通过对象来调用静态方法

不想出现这种情况可以使用private

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐