数据连接池

dbcp

1.引入jar包

数据连接池

导入这两个jar包

下载jar包地址:Maven Repository: Search/Browse/Explore (mvnrepository.com)

(进入网站后,可直接在搜索框中搜索下载)

[En]

(after entering the website, you can search and download directly in the search box)

2.配置后缀为 .properties 文件

如例:

1 #
 2 driverClassName=com.mysql.cj.jdbc.Driver
 3 url=jdbc:mysql://localhost:3306/test02
 4 username=root
 5 password=root
 6
 7 #
 8 initialSize=10
 9
10 #
11 maxActive=50
12
13 #
14 maxIdle=20
15
16 #
17 minIdle=5
18
19 #
20 maxWait=50000
21
22 #
23 connectionProperties=useUnicode=true;characterEncoding=utf8
24
25 ##
26 defaultAutoCommit=true
27
28 #
29 defaultTransactionIsolation=REPEATABLE_READ

3.创建utils包(获取connection,释放连接资源)

1 public class JdbcUtils_c3p0 {
 2
 3     private static DataSource dataSource;
 4     static {
 5         try {
 6
 7             //创建数据源  工厂模式 --》创建
 8              dataSource = new ComboPooledDataSource();
 9
10
11         } catch (Exception e) {
12             e.printStackTrace();
13         }
14     }
15
16     //获取连接
17      public static Connection getConnection() throws Exception{
18          return dataSource.getConnection();
19
20      }
21     //释放链接资源
22     public static  void release(Connection connection, Statement statement, ResultSet resultSet){
23         try {
24             if (resultSet != null) {
25                 resultSet.close();
26             }
27             if (statement != null) {
28                 statement.close();
29             }
30             if (connection != null) {
31                 connection.close();
32             }
33         }catch (Exception e){
34             e.printStackTrace();
35         }
36     }
37 }

4.测试

(我在这里添加一段数据作为示例。)

[En]

(I’m here to add a piece of data as an example.)

1    Connection connection = null;
 2         PreparedStatement ps = null;
 3         ResultSet resultSet =null;
 4         //1.获取数据库连接
 5         try {
 6             connection = JdbcUtils_c3p0.getConnection();
 7             String sql = "insert into student (name,sex,birthday,tall) values (?,?,?,?)";
 8             ps = connection.prepareStatement(sql); //预编译sql 先写sql,然后不执行
 9             //手动为参数赋值
10             ps.setString(1, "嗷嗷嗷");
11             ps.setString(2, "男");
12             ps.setString(3, "2002.1.8");
13             ps.setDouble(4, 1.75);
14             //执行
15             ps.executeUpdate();
16
17         } catch (Exception e) {
18             e.printStackTrace();
19         } finally {
20             JdbcUtils.release(connection, ps, resultSet);
21         }
22     }

Original: https://www.cnblogs.com/qiaoyuqi/p/15780855.html
Author: 咸鱼乔
Title: 数据连接池

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/507890/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Linux 目录挂载服务

    Linux 服务器挂载文件目录通常有三种形式,手动挂载、自动挂载、Autofs 自动挂载,下面对这三个挂载做一下介绍,接受一下这三个区别以及使用场景: 准备服务器和客户端: ser…

    数据库 2023年6月14日
    0106
  • 06-ElasticSearch搜索结果处理

    * package com.coolman.hotel.test; import com.coolman.hotel.pojo.HotelDoc; import com.faste…

    数据库 2023年6月16日
    094
  • Golang 接口(interface)

    Go 语言的接口遵守LSP(里氏替换原则),即 一个类型可以自由地被另一个满足相同接口的类型替换。 接口类型具体描述了一系列方法的集合,一个实现了这些方法的具体类型是这个接口类型的…

    数据库 2023年6月16日
    077
  • lamp

    lamp 1. lamp简介 2. web服务器工作流程 2.1 cgi与fastcgi 2.2 httpd与php结合的方式 2.3 web工作流程 3. lamp平台搭建 3….

    数据库 2023年5月24日
    098
  • [Mysql]如何设置root密码(8.0+)

    在ubuntu上安装mysql时默认root账号是没有密码的,可以先用 mysql进入mysql,然后输入下面这个( mynewpassword改成要设置的密码): ALTER U…

    数据库 2023年6月16日
    081
  • 常用的Linux命令

    获取linux服务器所有java进程及名称 pidof java|xargs pwdx pidof:用于查找指定名称的进程的进程号id号-s 一次只显示一个进程号-c 只显示运行在…

    数据库 2023年6月14日
    080
  • JavaWeb-MVC、过滤器

    一、MVC架构图 Model 业务处理:业务逻辑(Service) 数据持久层:CRUD(Dao) View 展示数据 提供连接发起Servlet请求(a,form,img&#82…

    数据库 2023年6月16日
    0107
  • 百万数据 mysql count(*)优化

    Original: https://www.cnblogs.com/sunshine-blast/p/16272978.htmlAuthor: 魁哥2020Title: 百万数据 …

    数据库 2023年5月24日
    082
  • Tomcat端口占用

    进入命令行命令:netstat -ano作用:查看所有端口占用 命令:netstat -aon|findstr 端口号port作用:查看端口号port占用情况 命令:taskkil…

    数据库 2023年6月11日
    066
  • LeetCode 20. 有效的括号

    给定一个只包括 ‘(‘,’)’,'{‘,’}’,'[‘,’]&#8217…

    数据库 2023年6月11日
    094
  • 6 short s1 = 1; s1 = s1 + 1;有错吗? short s1 = 1; s1 += 1; 有错吗?

    第一个有错,因为s1是short类型,s1 + 1会自动转换为int类型,将int类型赋值给short类型的s1,属于高位类型转低位,需强制转换。 第二个正确,因为s1 += 1 …

    数据库 2023年6月6日
    074
  • 2022-9-2 cookie 和 session

    当客户端关闭后,服务器不关闭,两次获取session是否为同一个?默认情况下。不是。 如果需要相同,则可以创建Cookie,键为JSESSIONID,设置最大存活时间,让cooki…

    数据库 2023年6月14日
    0100
  • MySQL日志系统bin log、redo log和undo log

    MySQL日志系统bin log、redo log和undo log 今人不见古时月,今月曾经照古人。 简介:日志是MySQL数据库的重要组成部分,记录着数据库运行期间各种状态信息…

    数据库 2023年6月14日
    087
  • MySQL函数1(单行函数)

    单行函数 函数的理解 分类 数值函数 基本函数 PI()无参数 CETL \ CETLING()天花板函数(取比自己大的相邻的数) FLOOR()地板函数(取比自己小的相邻的数) …

    数据库 2023年5月24日
    0100
  • 通过Python收集MySQL MHA 部署及运行状态信息的功能实现

    一. 背景介绍 当集团的MySQL数据库实例数达到2000+、MHA集群规模数百个时,对MHA的及时、高效管理是DBA必须面对的一个挑战。MHA 集群 节点信息 和 运行状态 是管…

    数据库 2023年6月16日
    0118
  • likeshop搭建商城系统,一步到位

    什么是商城系统?商城系统又称在线商城系统,是一个功能完善的在线购物系统,主要为在线销售和在线购物服务。 一般的商城系统运营模式有B2C单商户商城系统,B2B2C多商户商城系统以及S…

    数据库 2023年6月14日
    0148
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球