jdbc中自带MySQL连接池实例分析

引言

下面是com.mysql.cj.jdbc.mysqlconnectionpooldatasource使用实践,比较简单,api 倒是挺多的,但是大多数都用不到。

package com.funtest.groovytestimport com.funtester.frame.SourceCodeimport com.mysql.cj.jdbc.MysqlConnectionPoolDataSourceclass MysqlPoolTe extends SourceCode {    public static void main(String[] args) {        def query = "select * from testers limit 2;"        def source = new MysqlConnectionPoolDataSource()        source.setServerName("localhost")        source.setPort(3306)        source.setUser("root")        source.setPassword("root123456")        source.setDatabaseName("funtester")        source.setAllowMultiQueries(true)        def connection = source.getPooledConnection()        def statement = connection.getConnection().createStatement()        while (true) {            sleep(1)            def query = statement.executeQuery(query)            while (query.next()) {                output query.getString("name")            }        }    }}

这里有个很容易的坑,就是有个setURL()还有一个setUrl(),其实这两个没有任何区别,我只能说可能为了兼容旧版本把。还有就是设置了 URL 之后,好像 database 设置不起作用了,也是妙明感觉设计真糟心,所以在上面的案例中我也没有用到这俩方法。

我进行测试后发现,尽管我创建了大量线程,但只有少数线程始终处于连接状态。大概是经过几秒钟就会被回收一次,但是总创建数依旧非常高。

析稿Ai写作 析稿Ai写作

科研人的高效工具:AI论文自动生成,十分钟万字,无限大纲规划写作思路。

析稿Ai写作 97 查看详情 析稿Ai写作

jdbc中自带MySQL连接池实例分析

以上就是jdbc中自带MySQL连接池实例分析的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/267474.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
thinkphp日志文件在哪里以及如何查看
上一篇 2026年10月13日 10:42:48
如何编写一个容错的 PHP 函数
下一篇 2025年12月9日 17:32:02

相关推荐

  • MySQL中int类型有哪些

    MySQL中int类型有哪些MySQL中int类型有哪些MySQL中int类型有哪些MySQL中int类型有哪些

    int类型的选用 整型字段类型包含 tinyint、smallint、mediumint、int、bigint 五种,占用空间大小及存储范围如下图所示: 存储字节越小,占用空间越小。所以本着最小化存储的原则,我们要尽量选择合适的整型,下面给出几个常见案例及选择建议。 根据存储范围选择合适的类型,比如…

    2026年10月13日 • 用户投稿
    200
  • VS2019连接MySQL数据库的常见问题有哪些

    VS2019连接MySQL数据库的常见问题有哪些VS2019连接MySQL数据库的常见问题有哪些VS2019连接MySQL数据库的常见问题有哪些VS2019连接MySQL数据库的常见问题有哪些

    我打算下午配置各种环境,尝试将vs2019和mysql组合使用。中间出了不少错误,晚上九点左右配置成功如下图所示: 接下来说说具体步骤: (1)首先准备好VS2019和MySQL的软件,各自官网都有,这里不再赘述; (2)找到MySQL的安装目录,如图,找到这两个文件夹。 (3)新建一个工程后再新建…

    2026年10月13日 • 用户投稿
    300
  • Laravel认证系统?用户认证怎样实现?

    Laravel认证系统?用户认证怎样实现?Laravel认证系统?用户认证怎样实现?Laravel认证系统?用户认证怎样实现?Laravel认证系统?用户认证怎样实现?

    Laravel认证系统核心由守卫(Guards)和提供者(Providers)构成,通过Auth门面与中间件实现用户认证流程。守卫定义认证方式(如会话或API令牌),提供者负责从数据库等存储中检索用户。默认使用Eloquent模型实现Authenticatable接口,配合Breeze或Jetstr…

    2026年10月13日 • 用户投稿
    000
  • golang怎么实现mysql操作

    首先,确保你已经正确安装了 Golang 和 MySQL,同时也需要安装 Go 的 MySQL 驱动程序。这可以通过以下命令轻松完成: go get -u github.com/go-sql-driver/mysql 在创建 Go 程序之前,我们还需要创建一个 MySQL 数据库以及一张表来演示使用…

    2026年10月13日
    000
  • mysql二进制包使用实例分析

    mysql二进制包使用实例分析mysql二进制包使用实例分析mysql二进制包使用实例分析mysql二进制包使用实例分析

    豆包爱学 豆包旗下AI学习应用 674 查看详情 1.安装之前,先创建mysql用户 [root@linuxprobe_nfs ~]# useradd mysql -s /sbin/nologin -M[root@linuxprobe_nfs ~]# id mysqluid=500(mysql) g…

    2026年10月13日 • 用户投稿
    100
  • 怎么通过Systemd编译Mysql5.7.11

    怎么通过Systemd编译Mysql5.7.11怎么通过Systemd编译Mysql5.7.11怎么通过Systemd编译Mysql5.7.11怎么通过Systemd编译Mysql5.7.11

    mysql 5.7主要特性: 原生支持Systemd 更好的性能:对于多核CPU、固态硬盘、锁有着更好的优化 更好的InnoDB存储引擎 更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库。此外,GTID在线平滑升级也变得可能 更好的优化器:优化器代码重构…

    2026年10月13日 • 用户投稿
    100
  • MySQL怎样实现数据快照 快照隔离与MVCC实现原理

    MySQL怎样实现数据快照 快照隔离与MVCC实现原理MySQL怎样实现数据快照 快照隔离与MVCC实现原理MySQL怎样实现数据快照 快照隔离与MVCC实现原理MySQL怎样实现数据快照 快照隔离与MVCC实现原理

    %ign%ignore_a_1%re_a_1%的快照隔离级别主要是可重复读(repeatable read),它通过mvcc和undo log解决幻读问题。1. mvcc为每行数据增加trx_id和roll_ptr字段,trx_id记录最后一次修改事务id,roll_ptr指向undo log中的旧…

    2026年10月13日 • 用户投稿
    100
  • with as mysql语法是什么

    WITH as语法 WITH as语法主要分为以下两个部分: 1)WITH:关键字,用于引入一个或多个临时表。 2)AS:关键字,用于定义一个或多个临时表。 WITH as语句的一般语法如下: WITH [RECURSIVE] cte_name (column_name1,column_name2,…

    2026年10月13日
    100
  • Mysql子查询关键字如何使用

    Mysql子查询关键字如何使用Mysql子查询关键字如何使用Mysql子查询关键字如何使用Mysql子查询关键字如何使用

    1. all 1.1 格式 1.2 特点  all:与子查询返回的所有值比较为true则返回true all可以与=,>=,>,<,<=,结合使用,分别表示等于,大于等于,大于,小于,小于等于,不等于其中的所有数据 大于all表示指定列中的值必须要大于子查询集中的每一个值,即…

    2026年10月13日 • 用户投稿
    200
  • python如何实现Mysql数据库批量新增数据

    python如何实现Mysql数据库批量新增数据python如何实现Mysql数据库批量新增数据python如何实现Mysql数据库批量新增数据python如何实现Mysql数据库批量新增数据

    一、批量插入数据的场景 在进行数据压力时需要进行大数据量的测试 比如登录要进行千人用户同时登录 比如数据加工由于源数据没有,需要我们进行数据库数据的插入 选择方法 使用Jmeter进行接口数据的批量新增 立即学习“Python免费学习笔记(深入)”; 使用存储过程进行数据库的直接操作 使用Pytho…

    2026年10月13日 • 用户投稿
    100
  • Fedora server怎么安装Mysql8

    Fedora server怎么安装Mysql8Fedora server怎么安装Mysql8Fedora server怎么安装Mysql8Fedora server怎么安装Mysql8

    安装 MySQL YUM 仓库源 ## Fedora 28 ##dnf install https://dev.mysql.com/get/mysql80-community-release-fc28-1.noarch.rpm## Fedora 27 ##dnf install https://de…

    2026年10月13日 • 用户投稿
    100
  • php+mysql如何使用存储过程

    一、MySQL存储过程 存储过程是一组预编译的SQL语句,用于实现特定的业务逻辑。相对于在应用层编写类似的业务逻辑,使用存储过程可以将这些逻辑移至数据库层面,节省了网络传输的时间,提高了性能。下面是一段简单的MySQL存储过程: CREATE PROCEDURE `my_proc`(IN `p_id…

    2026年10月13日
    100
  • MySQL中怎么实现分页操作

    一、 背景 什么是分页,就是查询时候数据量太大,一次性返回所有查询结果既耗费网络资源、又降低了查询效率,用户也不可能一下子看完成千上万条数据。所以分页的技术就应运而生。分页可以只显示指定数量的数据。 二、 实现规则 2.1 关键字 LIMIT 在MySQL中,使用关键字 LIMIT 实现分页操作。格…

    2026年10月13日
    100
  • Swoole提示”Connection reset by peer”是什么原因

    Swoole提示”Connection reset by peer”是什么原因Swoole提示”Connection reset by peer”是什么原因Swoole提示”Connection reset by peer”是什么原因Swoole提示”Connection reset by peer”是什么原因

    “Connection reset by peer”是因对端主动关闭连接导致的TCP层错误,常见于客户端异常断开、服务端向已关闭连接写数据、心跳缺失致中间件断连等情况,需通过$server->exist检查连接状态、实现心跳机制及try-catch捕获异常来预防和处理。 “Connection…

    2026年10月13日 • 用户投稿
    100
  • linux怎么查看mysql是否运行

    linux怎么查看mysql是否运行linux怎么查看mysql是否运行linux怎么查看mysql是否运行linux怎么查看mysql是否运行

    查看方法:1、执行“service mysqld status”命令,如果输出“mysqld is running”则说明mysql是运行的;2、执行“chkconfig –list”命令,如果mysqld服务的状态为off,则没有运行。 本教程操作环境:linux5.9.8系统、mys…

    2026年10月13日 • 用户投稿
    200
  • mysql插入意向锁如何使用

    1、插入意向锁是Gap锁,不是意向锁,是insert操作产生的。当多个事务同时将不同的数据写入同一个索引间隙时,不需要等待其他事务完成,也不会发生锁等待。 假定有一个记录索引包含键值4和7,不同的事务分别插入5和6,每个事务都会产生一个插入意向锁,加到4-7之间,得到插入行上的排他锁,但不会相互锁定…

    2026年10月13日
    200
  • laravel怎么实现数据库层面的全文搜索_laravel数据库全文搜索实现方法

    laravel怎么实现数据库层面的全文搜索_laravel数据库全文搜索实现方法laravel怎么实现数据库层面的全文搜索_laravel数据库全文搜索实现方法laravel怎么实现数据库层面的全文搜索_laravel数据库全文搜索实现方法laravel怎么实现数据库层面的全文搜索_laravel数据库全文搜索实现方法

    Laravel通过MySQL的FULLTEXT索引实现全文搜索,需在迁移中添加索引并使用MATCH AGAINST查询,支持自然语言、布尔模式等,适用于轻量级英文搜索,但中文需借助外部工具优化。 在 Laravel 中实现数据库层面的全文搜索,主要依赖于数据库本身的支持,尤其是 MySQL 的 FU…

    2026年10月13日 • 用户投稿
    100
  • thinkphp连不上mysql数据库如何解决

    第一步,检查配置文件 连接 MySQL 数据库时,需要在配置文件中设置相关参数。ThinkPHP 使用的是 config.php 文件,该文件在 Application/Common/Conf/ 目录下。在该文件中,我们需要设置数据库相关参数,如下所示: return array( // 数据库配置…

    2026年10月13日
    000
  • 怎么安装MySQL驱动程序

    一、下载mysql驱动程序 在安装MySQL驱动程序之前,首先需要从MySQL官网(https://dev.mysql.com/downloads/connector/j/)下载适合自己的驱动程序。目前MySQL提供了多个版本的驱动程序,包括MySQL Connector/J、MySQL Conne…

    2026年10月13日
    200
  • MySQL中整型怎么用

      mysql数据类型之整型   在做数据类型时,选择的范围尽可能满足需求又小。范围越小占用资源越少。   mysql> create table stu(  -> stuid tinyint  -> );  Query OK, 0 rows affected (0.00 sec)…

    2026年10月13日
    200

发表回复

登录后才能评论
关注微信