中國最好的jdbc連線池-------Druid開源連線池的使用
阿新 • • 發佈:2019-02-18
如何使用Druid連線池?
Druid是阿里巴巴研發的一個開源專案,可以監控資料庫訪問效能,Druid提供了一個高效、功能強大、可擴充套件性好的資料庫連線池。擴充套件了JDBC功能。
使用非常簡單,可以與Spring框架進行快速整合。
1、 使用連線池
a) 匯入Druid的jar包
匯入過程我就不說了
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 {
}
}
}