zoukankan      html  css  js  c++  java
  • 基于durid的JDBCUtils工具类

    1、JDBCUtils类

    package com.alphajuns.utils;
    
    import com.alibaba.druid.pool.DruidDataSourceFactory;
    
    import javax.sql.DataSource;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;
    
    /**
     * @ClassName JDBCUtils
     * @Description
     * @Author AlphaJunS
     * @Date 2019/10/30 22:08
     * @Version V1.0
     **/
    public class JDBCUtils {
    
        //1.定义成员变量 DataSource
        private static DataSource ds ;
    
        static{
            try {
                //1.加载配置文件
                Properties pro = new Properties();
                pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));
                //2.获取DataSource
                ds = DruidDataSourceFactory.createDataSource(pro);
            } catch (IOException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 获取连接
         */
        public static Connection getConnection() throws SQLException {
            return ds.getConnection();
        }
    
        /**
         * 释放资源
         */
        public static void close(Statement stmt, Connection conn){
           /* if(stmt != null){
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
            if(conn != null){
                try {
                    conn.close();//归还连接
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }*/
    
            close(null,stmt,conn);
        }
    
    
        public static void close(ResultSet rs , Statement stmt, Connection conn){
    
    
            if(rs != null){
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
    
            if(stmt != null){
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
            if(conn != null){
                try {
                    conn.close();//归还连接
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        /**
         * 获取连接池方法
         */
    
        public static DataSource getDataSource(){
            return  ds;
        }
    
    }

    2、druid.properties

    driverClassName=com.mysql.jdbc.Driver
    url=jdbc:mysql:///test
    username=root
    password=root
    # 初始化连接数
    initialSize=5
    # 最大连接数
    maxActive=10
    # 最大等待时间
    maxWait=3000
  • 相关阅读:
    深入理解 C/C++ sizeof() 运算符
    Luogu2040 | 打开所有的灯 (广搜+状压)
    Intel 8086 标志寄存器及JCC指令表
    Intel 8086 常用汇编指令表
    PTA L2-029 | 特立独行的幸福 (打表+递归)
    C++中为什么要用指针,而不直接使用对象?
    c#中基本类型占用字节数
    c++TXT文件读入
    较为初始的学生成绩管理系统
    C++中各种数据成员及成员函数的定义及使用
  • 原文地址:https://www.cnblogs.com/alphajuns/p/11768752.html
Copyright © 2011-2022 走看看