[TOC]
## 問題01:DBUtils的使用
### 1. 概述
> Apache組織提供
> 實現了對JDBC的簡單封裝

* BeanHandler:將結果集中的**第一行**數據封裝到一個對應的JavaBean實例中。
* BeanListHandler:將結果集中的**所有行**數據都封裝到一個對應的JavaBean實例中,并存放到List里。
* ColumnListHandler:將**所有行**的**某列**屬性的值封裝到List集合中。
* ScalarHandler:將結果集中**某一行**的**某一列**數據存儲成Object對象。
### 2. jar包

### 3. 實現CRUD
1. 創建runner
```
QueryRunner runner = new QueryRunner(C3p0Utils.getDataSource());
```
2. 執行單條查詢
```
XXX object = (XXX) runner.query(sql, new BeanHandler(XXX.class), Object[] params);
```
3. 執行多條查詢
```
List<XXX> list = (List) runner.query(sql, new BeanListHandler(XXX.class), Object []params);
```
4. 執行更新
```
int num = runner.update(sql, Object[] params);
```
## 問題02:JdbcTemplate的使用
### 1. 概述
> Spring提供
> Spring 框架對 JDBC 進行封裝
### 2. jar包

### 3. 實現CRUD
1. 創建template
```
private JdbcTemplate template = new JdbcTemplate(DruidUtil.getDs());
```
2. 執行單條查詢
```
XXX object = template.queryForObject(sql,new BeanPropertyRowMapper<XXX>(XXX.class), Object... params);
```
3. 執行多條查詢
```
List<XXX> list = (List<XXX>) template.query(sql,new BeanPropertyRowMapper<XXX>(XXX.class), Object... params);
```
4. 執行更新
```
int num = template.update(sql, Object... params);
```
- 1課程概述
- 2環境配置
- 3MVC
- 3.1View
- 3.1.1前端基礎
- 3.1.2JSP語法
- 3.1.3JSP內置對象1
- 3.1.4JSP內置對象2
- 3.2Bean
- 3.3Controller
- 3.3.1Servlet
- 3.3.2Filter
- 3.3.3Listener
- 3.4EL&JSTL
- 4三層架構
- 4.1數據庫操作
- 4.1.1JDBC
- 4.1.2JDBC優化
- 4.2三層架構設計
- 4.3程序優化
- 4.3.1數據庫連接優化
- 4.3.2數據庫操作優化
- 4.4安全專題
- 4.4.1Ajax異步查詢
- 4.4.2CAPTCHA
- 4.4.3MD5&SHA
- 4.4.4Cookie
- 4.4.5分頁顯示
- 4.4.6文件上傳
- 4.4.7發送郵件
- 5企業級框架
- 5.0Maven
- 5.1MyBatis
- 5.2Spring
- 5.3SpringMVC
- 6實踐項目
- 6.1實驗1-用戶登錄(MVC)
- 6.2實驗2-訪問統計(Servlet高級)
- 6.3實驗3-三層架構
- 6.4實驗4-安全信息系統