java資料庫連接池代碼
是自己編的 可以引用 連接池思想就是這個啊
不過你可以下載 已經編好的連接池 上面有API 自己可以按照這個思想 就回用 了;
import java.io.FileInputStream;
public class ConnectionPool{
private Vector<Connection> pool;
private String url;
private String username;
private String password;
private String driverClassName;
// 連接池的大小,也就是連接池中有多少個資料庫連接。
private int poolSize = 1;
private static ConnectionPool instance =null;
//私有的構造方法,禁止外部創建本類的對象。
// 使用了設計單子模式
private ConnectionPool(){
init();
}
// 返回當前連接池的一個對象
public static ConnectionPool getInstance(){
if(instance==null){
instance=new ConnectionPool();
}
return instance;
}
//連接池初始化方法,讀取屬性文件的內容,建立連接池中的初始連接
private void init(){
pool= new Vector<Connection>(poolSize);
addConnection();
}
//返回連接到連接池中
public synchronized void release(Connection conn){
pool.add(conn);
}
// 關閉連接池中的所有資料庫連接
public synchironized void closePool(){
for(int i=0;i<pool.size();i++){
try{
((Connection)pool.get(i)).close();
}catch(sqlExcepiton e){
e.printStachTrace();
}
pool.remove(i);
}
}
/**
* 返回連接池中的一個資料庫連接
*/
public synchronized Connection getConnection(){
if(pool.size()>0){
Connection conn = pool.get(0);
pool.remove(conn);
return conn;
}else{
return null;
}
}
// 在連接池中創建初始設置的的資料庫連接
private void addConnection(){
Connection conn = null;
for (int i=0;i<poolSize;i++){
try{
Class.forName(driverClassName);
conn=java.sql.Drivermanager.getConnection(url,username,password);
pool.add(conn);
}catch(ClassNotFoundException e){
e.printStachTrace();
}catch(){}
}
}
}
B. java 多次執行一個sql後 釋放不了資料庫連接池 怎麼辦 代碼如下!求解決
貌似你的if段裡面有個break吧!不知道你這段語句是否是在某循環中吧
如果碰到break就會退出循環,就別說後面的s.close()了
也就是說數據連接無法合理關閉,可能會出現各種溢出,連接不夠用等
C. JAVA問題:什麼是JAVA連接池什麼意思能否寫出代碼來
拿資料庫連接池舉例子。因為創建資料庫連接是一項費時且費資源的操作,那麼可以在程序初始化的時候預先創建一些連接出來,那麼當真正需要資料庫連接時就可以直接從這里拿出來使用,避免了創建連接的復雜。具體實現可以在網上搜索一下,有很多的。大致的原理就是這樣。
D. 怎麼在JAVA中創建一個資料庫連接池求實例代碼
用c3po來創建資料庫連接池,
1.到網路上下載c3p0-0.9.0.4.jar包,導入工程;(注意以下方法只能用於web服務).
2.找出web伺服器中conf目錄下的centent.xml,在裡面加上以下配置
<Resource auth="Container"
description="DB Connection"
driverClass="com.mysql.jdbc.Driver"
maxPoolSize="4"
minPoolSize="2"
acquireIncrement="1"
name="jdbc/TestDB"
user="root"
password="root"
factory="org.apache.naming.factory.BeanFactory"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
jdbcUrl="jdbc:mysql://localhost:3306/自己的資料庫名?autoReconnect=true" />
3.java獲取連接池的代碼;
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class DBUtils {
static InitialContext ic;
static DataSource ds;
static{
try {
ic = new InitialContext();
ds = (DataSource)ic.lookup("java:comp/env/jdbc/TestDB");
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getCon() {
try {
return ds.getConnection();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
}
通過以上代碼,即可獲取連接池中的連接.
E. java中建立資料庫連接池,有哪幾個步驟
Context context=new InitialContext();
DataSource ds=(DataSource)context.lookup("java:comp/env/jdbc/"+projectName);這里的projectName指的是你的項目名稱然後在tomcatde 的\conf\Catalina\localhost目錄下配置一個和你項目名稱相同的xml文件文件的配置方法可以去網路下很多的,這樣就可以使用連接池了。
F. java 資料庫連接池
1.讓tomcat容器啟動創建資料庫連接池2.在某個項目中關聯資料庫連接池,3.取得資料庫連接池並使用。使用包括,當拿到資料庫連接後,可以通過2種方式來使用,1.使用jstl的標簽,2.封裝成返回connection的方法。