jdbc DBCP連線池
阿新 • • 發佈:2022-05-08
四大連線引數
連線池也是使用四大連線引數來完成建立連線物件!
實現的介面
連線池必須實現:jaxax.sal.DataSource介面!
池物件
連線池返回的connection物件,它的close()方法與眾不同! 呼叫它的close()不是關閉,而是把連線歸還給池!
連線池底部依賴mysql
連線池內部使用四大引數建立了連線物件!
即mysql驅動提供的connection連線池使用mysql的連線物件進行了裝飾,只對close ()方法進行了增強!
裝飾之後的connection的close ()方法,用來把當前連線歸還給池!
package demo;
import java.sql.Connection;
import java.sql.SQLException;
import org.apache.commons.dbcp.BasicDataSource;
import org.junit.Test;
/**
* 連線池演示
* @author CDU_LM
*
*/
public class Test1 {
@Test
public void fun1() throws SQLException {
/**
* 建立連線池物件
* 配置四大引數
* 配置池引數
* 得到連線物件
*/
BasicDataSource bds = new BasicDataSource();
bds.setDriverClassName("con.mysql.jdbc.Driver");
bds.setUrl("jdbc:mysql://localhost:3306/db1");
bds.setUsername("root");
bds.setPassword("123456");
bds.setMaxActive(20); // 最大活動連線
bds.setMinIdle(3); // 最小空閒連線
bds.setMaxWait(1000); // 最大等待時間,毫秒級
Connection conn = bds.getConnection(); // 獲取連線物件
conn.close(); // 歸還物件
}
}