dbcp資料來源連線池
dbcp配置檔案的使用
c3p0資料來源
c3p0資料庫配置檔案使用
dbutils工具
resultsethandler介面
dbutils的**過程
dbutils的**實現
當使用jdbc連線資料庫的時候,當有1000的使用者,你就要建立1000會連線物件和銷毀物件,這樣會使資料庫訪問效率大大降低。
c3p0資料來源和dbcp資料來源
database connection pool
需要匯入的jar包,common-dbcp-.jar; commons-pool.jar.
demo檔案
public class demo
public static void main(string args) throws sqlexception
}
dbcpdemo檔案
public class dbcpdemo catch (exception e)
}public static void main(string args) throws sqlexception
}
basicdatasource.properties檔案
在這裡插入 #連線設定
driverclassname=com.mysql.jdbc.driver
url=jdbc:mysql://localhost:3306/yun6
username=root
password=root
#初始化連線
initialsize=5
#最大連線數量
maxactive=10
#最大空閒連線
maxidle=10**片
public class c3p0demo catch (propertyvetoexception e)
}public static void main(string args) throws sqlexception
}
c3p0-config.xml檔案
<?xml version="1.0" encoding="utf-8"?>
com.mysql.jdbc.driver
jdbc:mysql://localhost:3306/yun6
root
root
30000
1030
10010
200
com.mysql.jdbc.driver
jdbc:mysql://localhost:3306/yun6
root
root515
c3p0xmldemo檔案
public class c3p0xmldemo
public static void main(string args) throws sqlexception
}
c3p0xmldemo1檔案
public class c3p0xmldemo1
public static void main(string args) throws sqlexception
}
runnerquery介面是dbutils的核心類,減少運算元據庫**的操作量,主要是jdbc**進行封裝,通常與resultsethandler介面配合使用。(對connection,sql語句,statement,preparestatement,resultset ,param等進行封裝)
user類
public class user
public void setid(int id)
public string getname()
public void setname(string name)
public string getpassword()
public void setpassword(string password)
}
jdbcutils類:(將資料庫驅動,配置引數,釋放資源封裝到這個類中)
public class jdbcutils
// 關閉資料庫連線,釋放資源
public static void release(statement stmt, connection conn) catch (sqlexception e)
stmt = null;
}if (conn != null) catch (sqlexception e)
conn = null;
}} public static void release(resultset rs, statement stmt,
connection conn) catch (sqlexception e)
rs = null;
}release(stmt, conn);
}}
basedao類:相當與編寫了ruuerquery中的query()方法,
public class basedao
// 傳送sql
rs = pstmt.executequery();
// 讓呼叫者去實現對結果集的處理
object obj = rsh.handle(rs);
return obj;
} catch (exception e) finally
return rs;}}
bandhandler: 隨結果集進行處理
public class resultsettest1
public static void main(string args) throws sqlexception
}
bandlisthandler: 隨結果集進行處理
public class resultsettest2
}public static void main(string args) throws sqlexception
}
scalarhandler: 隨結果集進行處理
public class resultsettest3
public static void main(string args) throws sqlexception
}
DBUtils資料庫連線池
使用資料庫連線池技術,可以重複使用多個資料庫連線,避免每次執行資料庫操作都建立連線和關閉連線,也避免了大型應用同時占用多個資料庫連線。以連線mysql為例 import pymysql from dbutils.pooleddb import pooleddb pool pooleddb creat...
DBUtils資料庫連線池
使用資料庫連線池技術,可以重複使用多個資料庫連線,避免每次執行資料庫操作都建立連線和關閉連線,也避免了大型應用同時占用多個資料庫連線。以連線mysql為例 import pymysql from dbutils.pooleddb import pooleddb pool pooleddb creat...
Python資料庫連線池DBUtils
dbutils是python的乙個用於實現資料庫連線池的模組。此連線池有兩種連線模式 如果沒有連線池,使用pymysql來連線資料庫時,單執行緒應用完全沒有問題,但如果涉及到多執行緒應用那麼就需要加鎖,一旦加鎖那麼連線勢必就會排隊等待,當請求比較多時,效能就會降低了。usr bin env pyth...