1. 程式人生 > >中國最好的jdbc連線池-------Druid開源連線池的使用

中國最好的jdbc連線池-------Druid開源連線池的使用

如何使用Druid連線池?

Druid是阿里巴巴研發的一個開源專案,可以監控資料庫訪問效能,Druid提供了一個高效、功能強大、可擴充套件性好的資料庫連線池。擴充套件JDBC功能

使用非常簡單,可以與Spring框架進行快速整合。

1、 使用連線

a) 匯入Druidjar

匯入過程我就不說了

b) 建立DruidDataSource物件:DruidDataSource dataSource=new DruidDataSource();

c) 設定連線引數

dataSource.setDriverClassName("com.mysql.jdbc.Driver");

dataSource.setUrl("jdbc:mysql://localhost:3306/javaweb_day08");

dataSource.setUsername("root");

dataSource.setPassword("123456");

程式碼實現------自己配置檔案

package jdbc_datasource_Utils;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

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

import myUtils.MyUtils;

public class DruidDemo01 {
	
	
	public static void main(String[] args) throws SQLException{
		
		Connection conn=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		
		try {
			
			//1,建立Druid連線池物件
			DruidDataSource dataSource = new DruidDataSource();
			//2,為資料庫新增配置檔案
			dataSource.setDriverClassName("com.mysql.jdbc.Driver");
			dataSource.setUrl("jdbc:mysql://localhost:3306/mytest-day08");
			dataSource.setUsername("root");
			dataSource.setPassword("123");
			
			
			//工具類中獲得連線
			//conn = MyUtils.getConnertion01();
			
			//用Druid來連線
			conn = dataSource.getConnection();
			
			
			//2,執行資料庫語句
			String sql="SELECT * FROM accoumt";
			
			//3,用prepareStatement獲取sql語句
			ps=conn.prepareStatement(sql);
			
			//4,執行sql語句,查詢用executeQuery,增刪改用executeUpdate
			rs=ps.executeQuery();
			while (rs.next()) {
				System.out.println(rs.getInt("id")+" "+rs.getString("name")+" "+rs.getDouble("money"));
			}
			
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}finally {
			//釋放資源
			conn.close();
		}	
	}
}



//使用配置檔案.properties來配置檔案

package jdbc_datasource_Utils;

import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Properties;

import javax.sql.DataSource;

import org.junit.Test;

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

import myUtils.MyUtils;

public class DruidDemo02 {
	
	@Test
	public void demo02(){
	Connection conn=null;
	PreparedStatement ps=null;
	ResultSet rs=null;
	
	try {
		
		//使用配置檔案來配置檔案
		Properties pr = new Properties();
		pr.load(new FileInputStream("druid.properties"));
		DataSource dataSource = DruidDataSourceFactory.createDataSource(pr);
		
		//1,建立Druid連線池物件
		//DruidDataSource dataSource = new DruidDataSource();
		//dataSource.setDriverClassName("com.mysql.jdbc.Driver");
		//dataSource.setUrl("jdbc:mysql://localhost:3306/mytest-day08");
		//dataSource.setUsername("root");
		//dataSource.setPassword("123");
		
		
		//工具類中獲得連線
		//conn = MyUtils.getConnertion01();
		
		//用Druid來連線
		conn = dataSource.getConnection();
		
		
		//2,執行資料庫語句
		String sql="SELECT * FROM accoumt";
		
		//3,用prepareStatement獲取sql語句
		ps=conn.prepareStatement(sql);
		
		//4,執行sql語句,查詢用executeQuery,增刪改用executeUpdate
		rs=ps.executeQuery();
		while (rs.next()) {
			System.out.println(rs.getInt("id")+" "+rs.getString("name")+" "+rs.getDouble("money"));
		}
		
	} catch (Exception e) {
		// TODO: handle exception
		e.printStackTrace();
	}finally {

	}
}

}