Druid(德鲁伊)连接数据库

Druid(德鲁伊)连接数据库:

  连接mysql必导包【mysql-connector-java-5.1.47.jar】

  这里提供了连接mysql相关jar包的所有版本:https://mvnrepository.com/artifact/mysql/mysql-connector-java

  使用druid连接数据库,首先需要导入相关jar包【例:druid-1.1.20.jar,log4j-1.2.17.jar,log4j-api-2.11.2.jar,log4j-core-2.11.2.jar】

  这里提供相关jar包下载网站: https://mvnrepository.com/

连接配置文件

# 驱动加载
driverClassName=com.mysql.jdbc.Driver
# 注册驱动
url=jdbc:mysql://127.0.0.1:3306/database_name?useUnicode=true&characterEncoding=utf8&useSSL=true
# 用户名
username=root
# 密码
password=root
# 初始化连接数
initialSize=10
# 最大连接数量
maxActive=10
# 最大空闲连接,已过时
# maxIdle = 10
# 最小空闲连接
minIdle=10
# 属性类型的字符串,通过别名的方式配置扩展插件, 监控统计用的stat 日志用log4j 防御sql注入:wall
filters=stat,log4j,wall

连接工具类

package com.demo.util;

import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;

/**
 *  druid连接工具类
 */
public class JDBCUtil {
    
    static DruidDataSource dataSource;
    
    static {
         Properties prop = new Properties();
            try {
                prop.load(JDBCUtil.class.getClassLoader().getResourceAsStream("druid.properties"));
                dataSource = (DruidDataSource)DruidDataSourceFactory.createDataSource(prop);
                //dataSource.addFilters("stat,log4j,wall");
            } catch (IOException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
    }
    /**
     *  获取连接
     * @return
     */
    public static Connection getConn() {
        Connection connection = null;
        try {
            connection = dataSource.getConnection();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return connection;
    }
    /**
     *  释放资源
     * @param conn
     * @param prep
     */
    public static void close(Connection conn,PreparedStatement prep) {
        try {
            if(prep != null) {
                prep.close();
            }
            if(conn != null) {
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    
    
    public static void close(Connection conn,PreparedStatement prep,ResultSet rs) {
        try {
            if(rs != null) {
                rs.close();
            }
            close(conn,prep);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    
    public static void main(String[] args) {
        System.out.println(getConn());
    }
    
}

猜你喜欢

转载自www.cnblogs.com/lyang-a/p/12171385.html