通過屬性文件維護(hù)連接屬性
后綴是.properties的文本文件饶唤,通常該文件中盡量避免使用中文腋逆。文件中若含有中文潘拨,需要使用java提供的命令來講中文轉(zhuǎn)換為asc碼的形式蒋畜。
java_home/bin/native2ascii
目前更流行的配置文件是xml格式卒暂。
在properties文件中啄栓,#符號表示注釋
Properties properties = new Properties();
//創(chuàng)建讀取配置文件的字節(jié)輸入流
FileInputStream fileInputStream = new FileInputStream("db.properties");
//通過文件輸入流讀取配置文件的內(nèi)容
properties.load(fileInputStream);
/*
* 讀取后,properties對象會將配置文件的內(nèi)容解析為一個類似Map的形式
* 可以根據(jù)Key獲取對應(yīng)的Value
*/
driver = properties.getProperty("driver");
url = properties.getProperty("url");
連接池技術(shù)
需要三個jar:commons-dbcp.jar``commons-pool.jar``commons-collections.jar
也祠。
DBCP連接池:數(shù)據(jù)庫連接池昙楚,Database Connection Pool。
連接池是創(chuàng)建和管理連接的緩沖池技術(shù)齿坷,將連接準(zhǔn)備好被任何需要他們的應(yīng)用使用桂肌。
從連接池中獲取的Collection,他的close方法的作用不是關(guān)閉連接永淌,是將連接回收至連接池崎场。
連接池中連接的釋放與使用原則:
- 應(yīng)用啟動時,創(chuàng)建初始化數(shù)目的連接遂蛀。
- 應(yīng)設(shè)置最大連接數(shù)谭跨。
- 當(dāng)申請時無連接可用或者達(dá)到指定的最小連接數(shù),按增量參數(shù)值創(chuàng)建新的連接李滴。
- 確保連接池中最小的連接數(shù)策略包括動態(tài)檢查和靜態(tài)檢查螃宙。
- 按需分配,用過歸還所坯,超時歸還
動態(tài)檢查:定時檢查連接池谆扎,一旦發(fā)現(xiàn)數(shù)量小于最小連接數(shù)則補充相應(yīng)的新連接,保證連接池正常運轉(zhuǎn)芹助。
靜態(tài)檢查:空間連接不足的時候堂湖,系統(tǒng)才檢測是否達(dá)到最小連接數(shù)。
通過DataSource獲取連接:
通過屬性文件獲取連接池參數(shù):
連接池常用參數(shù):初始連接數(shù)
状土,最大連接數(shù)
无蜂,最小連接數(shù)
,每次增加的連接數(shù)
蒙谓,超時時間
斥季,最大空閑連接
,最小空閑連接
異常處理
SQLException是處理JDBC時常見的Exception對象累驮,它是一個檢查異常酣倾。
常見異常:
登陸被拒絕,列名無效谤专,無效字符灶挟,無法轉(zhuǎn)換為內(nèi)部表示,表或視圖不存在毒租,不能將空值插入,缺少表達(dá)式,SQL命令未正確結(jié)束墅垮,無效數(shù)字惕医,文件找不到等等。