连接池工具类

news/2024/5/19 0:01:26 标签: Demo, Utils, Resource, JDBC, Java

title: 连接池工具类
date: 2015-12-22 8:26:20
categories: Utils
tags: 连接池


xl_echo编辑整理,欢迎转载,转载请声明文章来源。更多案例、资料请联系QQ:1280023003

JDBCUtils配置文件

  • 使用JDBCUtils时需要导入一个包:mysql-connector-java-5.1.37-bin.jar
package connectorJDBC;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import org.junit.Test;

public class JDBCUtils {

    public static void loadDriver(){
        //注册驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Test
    public static Connection getConnection(){
        loadDriver();
        //获得数据库链接
        Connection conn = null;
        try {
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/myxlsorry","root","password");
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return conn;
    }

    //释放资源
        public static void getClose(Connection conn, Statement stmt){
            if(conn != null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                conn = null;
            }

            if(stmt != null){
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                conn = null;
            }
        }

    //释放资源
    public static void getClose(Connection conn, Statement stmt, ResultSet rs){
        if(conn != null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            conn = null;
        }

        if(stmt != null){
            try {
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            conn = null;
        }

        if(rs != null){
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            conn = null;
        }
    }


}

DBCP配置文件

  • 使用DBCP时需要导入两个包:
    • commons-pool-1.6.jar
    • commons-dbcp-1.4.jar

//配置文件名,prop.properties
/*
*配置文件内容
*driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/databaseName
username=root
password=password
*/
package connectorJDBC;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSourceFactory;
import org.junit.Test;

public class JDBCUtils_dbcp1 {

    @Test
    public static Connection getConnection(){
        Connection conn = null;
        Properties prop = new Properties();

        InputStream is = JDBCUtils_dbcp.class.getClassLoader().getResourceAsStream("prop.properties");
        try {
            prop.load(is);
            DataSource dataSource =  BasicDataSourceFactory.createDataSource(prop);
            conn = dataSource.getConnection();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return conn;
    }

    //释放资源
    public static void getClose(Connection conn, Statement stmt){
        if(conn != null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            conn = null;
        }

        if(stmt != null){
            try {
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            conn = null;
        }
    }

    //释放资源
    public static void getClose(Connection conn, Statement stmt, ResultSet rs){
        if(conn != null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            conn = null;
        }

        if(stmt != null){
            try {
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            conn = null;
        }

        if(rs != null){
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            conn = null;
        }
    }
}

C3P0配置文件

  • 使用C3P0时需要导入一个包:
    • c3p0-0.9.1.2.jar
/*
c3p0配置文件,简写版
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
  <default-config>

    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="jdbcUrl">jdbc:mysql://localhost:3306/databasename</property>
    <property name="user">root</property>
    <property name="password">password</property>

  </default-config>

</c3p0-config>
*/

package connectorJDBC;

import org.junit.Test;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class JDBCUtils_C3P0 {

    @Test
    public static Connection getConnection(){
        Connection conn = null;

        ComboPooledDataSource DATA_SOURCE = new ComboPooledDataSource();
        try {
            conn = DATA_SOURCE.getConnection();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return conn;
    }

}

http://www.niftyadmin.cn/n/1639562.html

相关文章

Springboot+SpringCloud+react实现管理后台

1&#xff0c;项目介绍 后台开发采用springboot和springcloud&#xff0c;前端开发采用react和antd。 antd是后台ui框架&#xff0c;官网地址&#xff1a; https://ant.design/index-cn 2&#xff0c;软件架构说明 2.1&#xff0c;本项目采用的是前后端分离开发的&#xff0…

Docker 快速删除所有容器

查看运行容器 docker ps 1 查看所有容器 docker ps -a 1 进入容器 其中字符串为容器ID: docker exec -it d27bd3008ad9 /bin/bash 1 1.停用全部运行中的容器: docker stop $(docker ps -q) 1 2.删除全部容器&#xff1a; docker rm $(docker ps -aq) 1 3.一条命令实…

UUIDUtils

title: UtilsClass_UUID date: 2016-1-5 11:02:30 categories: UtilsClass_Resource tags: Utils xl_echo编辑整理&#xff0c;欢迎转载&#xff0c;转载请声明文章来源。更多案例、资料请联系QQ&#xff1a;1280023003 获取随即id,生成的ID不会重复 package utils;import…

html打包苹果appstore,ios打包被拒绝,应用商店拒绝Web app应用程序怎么办?

上线appstore的应用被拒绝&#xff0c;说是不让上线Web app程序&#xff0c;被拒理由如下&#xff1a;该怎么办啊&#xff1f;If you cannot - or choose not to - revise your app to be in compliance with the App Store Review Guidelines, you may wish to build an HTML5…

k8s集群快速搭建

1 创建三台虚拟机 1.1 规划三台虚拟机 k8s-node1192.168.56.100k8s-node2192.168.56.101k8s-node3192.168.56.102 1.2 新建Vagrantfile文件 在电脑创建一个文件夹F:\javatool\virtual\guli&#xff0c;新建一个文件Vagrantfile&#xff0c;Vagrantfile的内容如下&#xff1a…

解决删除镜像时image is referenced in multiple repositories

1、查看镜像 docker images rt123:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE 192.168.0.1/jii/jenkins 1.0.1 3391ef1391f6 18 hours ago …

ReadFileUtils

title: UtilsClass_ReadFileUtils date: 2015-12-28 18:30:59 categories: UtilsClass_Resource tags: Utils xl_echo编辑整理&#xff0c;欢迎转载&#xff0c;转载请声明文章来源。更多案例、资料请联系QQ&#xff1a;1280023003 读取文件 读取方式一&#xff1a;使用类…

springboot drools flowable element-ui ni-app 打造智能风控系统

智能风控审批系统 本系统设计目的是打造一套全流程审批系统&#xff0c;包括规则设计和部署&#xff0c;流程设计和部署,自动审批&#xff0c;人工审批等。 采用springboot&#xff0c;springcloud alibaba&#xff0c;gateway&#xff0c;springsecurity。springOauth2&#x…