javascript
JDBC笔记02-数据库连接池 Spring JDBC
今日內(nèi)容
數(shù)據(jù)庫(kù)連接池
概念:
其實(shí)就是一個(gè)容器(集合),存放數(shù)據(jù)庫(kù)連接的容器
當(dāng)系統(tǒng)初始化好后,容器被創(chuàng)建,容器中會(huì)申請(qǐng)一些連接對(duì)象,當(dāng)用戶來(lái)訪問數(shù)據(jù)庫(kù)時(shí),從容器中獲取連接對(duì)象,用戶訪問完之后,會(huì)將連接對(duì)象歸還給容器
好處:
- 節(jié)約資源
- 用戶訪問高效
實(shí)現(xiàn)
- 方法:
- 獲取連接:getConnection()
- 歸還連接:Connection.close(). 如果連接對(duì)象Connection是從連接池中獲取的,那么調(diào)用方法,則不會(huì)再關(guān)閉連接了.而是歸還連接
C3P0:數(shù)據(jù)庫(kù)連接池技術(shù)
步驟:
c3p0-0.9.5.2.jar
mchange-commons-java-0.1.12.jar
不要忘記導(dǎo)入數(shù)據(jù)庫(kù)的驅(qū)動(dòng)jar包
- 名稱:-c3p0.properties 或者 c3p0-config.xml
- 路徑:直接將文件放在src目錄下即可.
Druid :數(shù)據(jù)庫(kù)連接池實(shí)現(xiàn)技術(shù),有阿里巴巴提供的
步驟:
- 是properties形式的
- 可以叫任意名稱,可以放在任意目錄下
Spring JDBC
Spring 框架對(duì)JDBC的簡(jiǎn)單封裝
提供了一個(gè)JDBCTemplate對(duì)象簡(jiǎn)化JDBC的開發(fā)
步驟:
1. 導(dǎo)入jar包
2. 創(chuàng)建JdbcTemplate對(duì)象,依賴于數(shù)據(jù)源DataSource
- JdbcTemplate template = new JdbcTemplate(ds);
3. 調(diào)用JdbcTemplate的方法來(lái)完成CRUD的操作
- update():執(zhí)行DML語(yǔ)句.增刪改語(yǔ)句
- queryForMap(): 查詢結(jié)果將結(jié)果集封裝為map集合
- 將列明作為key,將值作為value 將這條記錄封裝為一個(gè)map集合
- 注意:這個(gè)方法查詢的結(jié)果集長(zhǎng)度只能是1
- queryForList(): 查詢結(jié)果將結(jié)果集封裝為list集合
- 注意:將每一條記錄封裝為一個(gè)Map集合,再講Map集合裝載到List集合中
- query(): 查詢結(jié)果,將結(jié)果封裝為JavaBean對(duì)象
- query的參數(shù):RowMapper,一般我們使用BeanPropertyRowMapper實(shí)現(xiàn)類.
- 以完成數(shù)據(jù)到JavaBean的自動(dòng)封裝
- new BeanPropertyRowMapper<類型>(類型.class)
- queryForObject:查詢結(jié)果,將結(jié)果封裝為對(duì)象
- 一般用于聚合函數(shù)的查詢
4. 練習(xí):
- 需求:
1. 修改1號(hào)數(shù)據(jù)的 salary 為 10000
2. 添加一條記錄
3. 刪除剛才添加的記錄
4. 查詢id為1的記號(hào),將其封裝為Map集合
5. 查詢所有記錄,將其封裝為L(zhǎng)ist
6. 查詢所有記錄,將其封裝為Emp對(duì)象的List集合
7. 查詢總記錄數(shù)
總結(jié)
以上是生活随笔為你收集整理的JDBC笔记02-数据库连接池 Spring JDBC的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PDA开发从入门到精通
- 下一篇: 利用哈希表实现电话号码查询系统