SpringDao

模板化的訪問方式

在直接使用具體的持久化技術時,我們大多需要處理整個流程。Spring為支持的持久化技術分別提供了模板訪問的方式,降低了使用各種持久化技術的難度,可以大幅提高開發效率。

使用模板和回調機制

Spring為各種支持的持久化技術都提供了簡化操作的模板和回調,在回調中編寫具體的數據操作邏輯,使用模板執行數據操作,在Spring中,這是典型的數據操作模式。

JDBCTemplate

HibernateTemplate

SqlMapClientTemplate

如果我們直接使用模板類,一般都需要在DAO中定義一個模板對象并提供數據資源,Spring為每一個持久化技術都提供了支持類,支持類中已經為我們完成這樣的功能。這樣,我們只需要擴展這些支持類就可以直接編寫實際的數據訪問邏輯,沒有絲毫阻隔。

JdbcDaoSupport

HibernateDaoSupport

SqlMapClientDaoSupport

數據源,不管通過何種持久化技術,都必須擁有數據連接,在Spring中,數據連接是通過數據源獲得的,可以直接在Spring容器中配置數據源。

jdbcTemplate

spring提供用于操作JDBC工具類,類似:DBUtils

依賴連接池DataSource(數據源)

環境:

com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar

dbcp

commons pool

spring-jdbc-3.2.0.RELEASE.jar

spring-tx-3.2.0.RELEASE.jar:

A.在程序中直接使用

B.在XML中配置DBCP


"dataSourceId"class="org.apache.commons.dbcp.BasicDataSource">

"driverClassName"value="com.mysql.jdbc.Driver">

"url"value="jdbc:mysql://localhost:3306/hibernate3">

"username"value="root">

"password"value="root">


"jdbcTemplateId"class="org.springframework.jdbc.core.JdbcTemplate">

"dataSource"ref="dataSourceId">


"userDaoId"class="com.dream.dao.UserDao">

"jdbcTemplate"ref="jdbcTemplateId">

Dao層代碼的編寫


配置C3P0


JdbcDaoSupport

編寫dao

public class UserDao extends? JdbcDaoSupport{

public? void update(User user){

String? sql = "update user set username=?,password=? where id =?";

Object[]? args = {user.getUsername(),user.getPassword(),user.getId()};

this.getJdbcTemplate().update(sql,? args);

}

public? List findAll() {

return? this.getJdbcTemplate().query("select * from user",? ParameterizedBeanPropertyRowMapper.newInstance(User.class));

}

}

配置更改

Properties

jdbc.driverClass=com.mysql.jdbc.Driver

jdbc.jdbcUrl=jdbc:mysql://localhost:3306/hibernate3

jdbc.user=root

jdbc.password=root


"classpath:"前綴表示src下

在配置文件之后通過${key}獲得內容

-->

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,973評論 19 139
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,970評論 6 342
  • 一. Java基礎部分.................................................
    wy_sure閱讀 3,837評論 0 11
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,767評論 18 399
  • 半黃風知意 涼拌云含抽去 亂擾猶雨 思絮不齊 江水流溪 錯綜復雜 你卻不知歸處 忘了歸處 東風護陽升起 炫麗如舊 ...
    墻角的梅花閱讀 149評論 0 6