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());
	}
	
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM