DBCP连接池

aierben 2020-06-10 原文

DBCP连接池

学数据库真是枯燥,不如写个网页去调用数据库,又复习了JAVA,有学习了数据库,真是一举两得。

在使用连接池对数据库进行连接时,因为好久没弄,好多地方都忘记了,刚好写到这里整理一下。

首先准备相应的 jar包 ,分别是

1.commons-dbcp2-2.7.0.jar

2.commons-logging-1.2.jar

3.commons-pool2-2.8.0.jar

4.mysql-connector-java-8.0.20.jar

jar  链接如下 https://i.cnblogs.com/files

第一个包对后面的几个包有依赖,缺少的话,会产生找不到或无法加载主类的错误

然后新建一个配置文件

内容如下 (其中需要注意的时,如果是记事本建立的文件,记得保存时编码格式选择utf8,不然注释部分会显示乱码)

dbcpconfig.properties

 

 

driverClassName=com.mysql.cj.jdbc.Driver

#url

url=jdbc:mysql://localhost:3306/highperformancesql?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT

#用户名

username=用户名

#密码

password=密码

#初试连接数

initialSize=30

#最大活跃数

maxTotal=30

#最大idle数

maxIdle=10

#最小idle数

minIdle=5

#最长等待时间(毫秒)

maxWaitMillis=1000

#程序中的连接不使用后是否被连接池回收(该版本要使用removeAbandonedOnMaintenance和removeAbandonedOnBorrow)

#removeAbandoned=true

removeAbandonedOnMaintenance=true

removeAbandonedOnBorrow=true

#连接在所指定的秒数内未使用才会被删除(秒)(为配合测试程序才配置为1秒)

removeAbandonedTimeout=1

 

然后新建java工具类(DBCPUtil)

 

public class DBCPUtil {

   

    private static DataSource ds ;

   

    static

    {

        try

        {

            //获取配置文件字节流

            InputStream is  = DBCPUtil.class.getClassLoader().getResourceAsStream(“dbcpconfig.properties”);

            //配置文件类

            Properties props = new Properties();

            //配置文件字节流载入到配置文件对象

            props.load(is);

            //数据库对象获取数据源

            ds = BasicDataSourceFactory.createDataSource(props);

           

        }catch(Exception e) {

            e.printStackTrace();

        }

   

    }

   

    //返回数据库对象对应连接

    public static Connection getConnection() {

        try {

            return ds.getConnection();

        } catch (SQLException e) {

            throw new RuntimeException();

        }

    }

   

    //释放数据库结果集对象,连接对象,语句操作对象

    public static void release(ResultSet rs,Statement stmt,Connection conn)

    {

        if(rs != null)

        {

            try {

                rs.close();

            } catch (SQLException e) {

                e.printStackTrace();

            }

            rs = null;

           

        }

        if(stmt != null)

        {

            try {

                stmt.close();

            } catch (SQLException e) {

                e.printStackTrace();

            }

            stmt = null;

        }

        if(conn != null)

        {

            try {

                conn.close();

            } catch (SQLException e) {

                e.printStackTrace();

            }

            conn = null;

        }

    }

}

这样你就可以在其他的程序中通过获取 Connection 对象进行数据库操作了

 

发表于
2020-06-10 21:58 
我爱二贲 
阅读(
评论(
编辑 
收藏

 

版权声明:本文为aierben原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/aierben/p/13089425.html

DBCP连接池的更多相关文章

随机推荐

  1. 如何设计一个电子计算器

      版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖。如要转贴,必须注明原文网址   http:/ […]...

  2. 测序基础知识–整理

    测序:   如何计算测序深度,或产出的数据量?     10的9次方=1G      如果测序的read是pa […]...

  3. Windows下Apache配置https

    1、将mycert.crt 和mycert.key 文件复制到Apache 一级目录中   2、httpd.c […]...

  4. 软件版本号规范与命名原则

    1. 软件版本阶段说明 * Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发 […]...

  5. 【Base】POE供电

    ###Date: 2018.4.1 ===================================== […]...

  6. android登陆注册

                                     登陆注册功能是好多软件所必须的功能,实现的流 […]...

  7. django中引入bootstrap4.3

    1、下载bootstrap4.3的包:https://getbootstrap.com/ 2、将下载后的文件放 […]...

  8. Java实现贪吃蛇游戏

    相信很多人大学时候都学过Java这门语言吧,这门课一般最后有一个大作业,就是用Java写一个小软件,比方说简单 […]...

展开目录

目录导航