mysql连接池代码工具示例(scala):

import java.sql.{Connection,PreparedStatement,ResultSet}
import org.apache.commons.dbcp.BasicDataSource object ConnectPoolUtil{
private var bs:BasicDataSource = null /**
*创建数据源
*/
def getDataSource():BasicDataSource = {
if (bs = null){
bs = new BasicDataSource()
bs.setDriverClassName("com.mysql.jdbc.Driver")
bs.setUrl("jdbc:mysql://localhost:3306/${db_name}")
bs.setUsername("root")
bs.setPassword("123456")
bs.setMaxActive(200) //设置最大的并发数
bs.setInitialSize(30) //数据库初始化时,创建的连接个数
bs.setMinIdle(50) //最小空闲连接数
bs.setMaxIdle(200) //数据库最大连接数
bs.setMaxWait(1000)
bs.setMinEvictableIdleTimeMillis(60 * 1000) //空闲连接60秒之后释放
bs.setTimeBetweenEvictionRunsMills(5 * 60 * 1000) //5分钟检测一次是否有进程死掉
}
bs
} /**
*释放数据源
*/
def shutDownDataSource(){
if (bs != null) {
bs.close()
}
} /**
*获取数据库的连接
*/
def getConnection():Connection = {
val conn :Connection = null
try{
if (bs != null){
conn = bs.getConnection()
}else{
conn = getDataSource().getConnection()
}
}catch {
case e:Exception => println(e.getMessage)
}
conn
} /**
*关闭连接
*/
def closeConn(rs:ResultSet,ps:PreparedStatement,conn:Connection){
if (rs != null)
rs.close()
if (ps != null)
ps.close()
if (conn != null)
conn.close()
}
}

  

mysql连接池的使用工具类代码示例的更多相关文章

  1. 【知了堂学习心得】浅谈c3p0连接池和dbutils工具类的使用

    1. C3P0概述 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展.目前使用它的开源项目有Hibernate,Spring等. 2. C3P ...

  2. 数据库连接池与SQL工具类

    数据库连接池与SQL工具类 1.数据库连接池 依赖包 pymysql dbutils # -*- coding: utf-8 -*- ''' @Time : 2021/11/19 16:45 @Aut ...

  3. Jedis工具类代码

    安装Redis可以参考 https://www.cnblogs.com/dddyyy/p/9763098.html Redis的学习可以参考https://www.cnblogs.com/dddyyy ...

  4. workerman如何写mysql连接池

    首先要了解为什么用连接池,连接池能为你解决什么问题 连接池主要的作用1.减少与数据服务器建立TCP连接三次握手及连接关闭四次挥手的开销,从而降低客户端和mysql服务端的负载,缩短请求响应时间2.减少 ...

  5. Swoole4-swoole创建Mysql连接池

    一 .什么是mysql连接池 场景:每秒同时有1000个并发,但是这个mysql同时只能处理400个连接,mysql会宕机. 解决方案:连接池,这个连接池建立了200个和mysql的连接,这1000个 ...

  6. swoole4创建Mysql连接池

    一 .什么是mysql连接池 场景:每秒同时有1000个并发,但是这个mysql同时只能处理400个连接,mysql会宕机.   解决方案:连接池,这个连接池建立了200个和mysql的连接,这100 ...

  7. Java Mysql连接池配置和案例分析--超时异常和处理

    前言: 最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测 ...

  8. MySQL连接池

    1. using System; using System.Collections; using MySql.Data.MySqlClient; namespace Helper { /// < ...

  9. 用swoole简单实现MySQL连接池

    MySQL连接池 在传统的网站开发中,比如LNMP模式,由Nginx的master进程接收请求然后分给多个worker进程,每个worker进程再链接php-fpm的master进程,php-fpm再 ...

随机推荐

  1. NOIP模拟题 2017.11.6

    题目大意 给定一个大小为n的数组,从中选出一个子集使得这个子集中的数的和能被n整除. 假设开始我没有做出来,那么我就random_shuffle一下,然后计算前缀和,有一个能被n整除,就输出答案.于是 ...

  2. UFS 介绍 1[【转】

    本文转载自:https://blog.csdn.net/u014645605/article/details/52063624 硬件架构: 接口示意图: UFS 速度和emmc的对比 UFS2.1 U ...

  3. Ubuntu18.04 一些好用的扩展

    原文:https://www.lulinux.com/archives/2589 一些好用的扩展: United:https://www.gnome-look.org/p/1167950/ dynam ...

  4. 解决Win10 Git图标不显示问题

    升级系统到win10 1803版本以后发现TortoiseGit的忽略图标不显示了 开始以为是版本问题,将TortoiseGit版本进行了升级还是不行 网上查找以后发现 Windows Explore ...

  5. 【做题】neerc2017的A、C、I、L

    A - Archery Tournament 一开始往化简公式的方向去想,结果没什么用. 考虑与一条垂线相交的圆的个数.不难YY,当圆的个数最多时,大概就是这个样子的: 我们稍微推一下式子,然后就能发 ...

  6. Java内存模型原理总结(转自51CTO)

    转载地址:http://developer.51cto.com/art/201811/587220.htm [51CTO.com原创稿件]这篇文章主要介绍模型产生的问题背景,解决的问题,处理思路,相关 ...

  7. pip运行错误

    错误: [root@centos64 numpy-1.13.1]# pip install numpy-1.13.1-cp27-cp27m-manylinux1_x86_64.whl Tracebac ...

  8. (转)PaperWeekly 第二十二期---Image Caption任务综述

    本文转自:http://mp.weixin.qq.com/s?__biz=MzIwMTc4ODE0Mw==&mid=2247484014&idx=1&sn=4a053986f5 ...

  9. Nand flash code

    (1)流水灯   1>我们来看原理图                                2>datasheet                             3> ...

  10. ComponentOne 2017 V1 发布

    在刚刚庆祝完Visual Studio20周年之后,我们迎来了ComponentOne 2017年第一个重要的版本. ComponentOne Studio与Visual Studio 2017配合发 ...