不会吧不会吧!居然还有人不知道JDBC的连接池技术!!!

举报
灰小猿 发表于 2021/08/12 08:34:07 2021/08/12
【摘要】 ​ Hello,你好呀,我是灰小猿,一个超会写bug的程序猿!​今天来和大家分享一下在javaweb中使用JDBC的连接池技术连接数据库的操作。关于JDBC技术我相信很多小伙伴多少都会有些了解了,所以我在这里就简单的对它进行概述一下。JDBC又叫数据库连接技术,全称“Java DataBase Connectivity”,它作为Java代码和数据库之间连接的桥梁,具有的典型特点就是可移植性强...

 

Hello,你好呀,我是灰小猿,一个超会写bug的程序猿!

今天来和大家分享一下在javaweb中使用JDBC的连接池技术连接数据库的操作。

关于JDBC技术我相信很多小伙伴多少都会有些了解了,所以我在这里就简单的对它进行概述一下。

JDBC又叫数据库连接技术,全称“Java DataBase Connectivity”,它作为Java代码和数据库之间连接的桥梁,具有的典型特点就是可移植性强,所以使用JDBC技术不需要为每一种数据库编写相关的操作程序,

JDBC的连接过程如下:


使用JDBC技术访问数据库具有以下五个步骤:

  1. 加载JDBC驱动程序
  2. 创建数据库连接
  3. 执行SQL语句(增删改查)
  4. 处理返回结果
  5. 关闭连接


在以往的学习中,我们进行数据库的连接通常是使用java.sql.DriverManager类,但是在进行实际的开发中,该方法的实用性并不是很强,使用更多的则是JDBC的连接池技术

在使用连接池进行数据库的连接时,java提供javax.sql.DataSource接口管理连接池,该接口我们无需自己实现,而是常用一个c3p0的第三方实现方式,使用之间需要先将c3p0的jar包和xml配置文件加入到工程当中。

c3p0的jar包和xml配置文件下载地址如下:

链接:https://pan.baidu.com/s/1l1hR1vi4T5NU-1h4BIhEVg 提取码:a71m

之后将xml配置文件放在src下,关于该配置文件中的内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<c3p0-config>

<named-config name="testc3p0">

<!-- 指定连接数据源的基本属性 -->

<property name="jdbcUrl">jdbc:mysql://localhost:3306/emp</property>

<property name="driverClass">com.mysql.jdbc.Driver</property>

<property name="user">root</property>

<property name="password">123456</property>

<!-- 若数据库中连接数不足时, 一次向数据库服务器申请多少个连接 -->

<property name="acquireIncrement">5</property>

<!-- 初始化数据库连接池时连接的数量 -->

<property name="initialPoolSize">20</property>

<!-- 数据库连接池中的最小的数据库连接数 -->

<property name="minPoolSize">2</property>

<!-- 数据库连接池中的最大的数据库连接数 -->

<property name="maxPoolSize">40</property>

</named-config>

</c3p0-config>

在根据自己的数据库将xml文件配置完成之后,使用ComboPooledDataSource类与xml文件建立连接,使用Connection类获取数据库,即可完成连接,相关代码如下:

ComboPooledDataSource dataSource=null;    //实例化ComboPooledDataSource类
static{
dataSource = new ComboPooledDataSource("testc3p0");    //与xml文件建立连接
}
Connection connection = dataSource.getConnection();    //获取到数据库
System.out.println(connection);    //输出数据库信息

关于JDBC的连接池技术的使用就是以上这些,之后还会继续和大家分享在JDBC中常用的工具类的使用教程,进一步简化JDBC技术对数据库的相关访问操作。

觉得不错记得点赞关注哟!

大灰狼陪你一起进步!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。