綠 青 色

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());
	}
	
}
posted @ 2020-01-09 14:37  LYANG-A  阅读(1972)  评论(0编辑  收藏  举报