spring入門3
1. spring jdbc Template 提供jdbc模板, 類似於dbutils工具.
導入相關三個jar包,
2. 創建一個數據庫連接池:
1. new drivermanagerdatasource() setdriverclassname() seturl() setusername setpassword
2. new jdbcTemplate().setdatasource(1); 2.execute(sql語句);
3.在xml中配置: 聲明bean drivermanagedatesource, 配置四個屬性
聲明 jdbcTemlate;
4.c3po開源連接池配置: 導入c3po相關的jar包.在xml中配置.
5. 映入外部的properties文件 <context:property-placheolder loaction="classpath:bd.properties">
6. 在property標籤的value="${屬性名}"
7. jdbcTemplate.update("sql語句",參數1,參數2)就可以執行insert update ,delete
8. 返回簡單的: jdbcTemplate.queryforobject("sql語句",返回值類型.class,參數)
9. 返回一個複雜domain對象,可以使用queryforobject("sql", new ROWMapper<類名){
重寫的方法.rs.getxxx("成員屬性名"), rownum行號;
}
查詢多個 query()
10. rowmapper 他有一個實現類, beanpropertyrowmapper, spring2.5提供的.
實體類無參數的構造,列的名字當前屬性對應,
jdbcTemplate.queryforobject("sql語句",new Beanproperty<>(返回值類型.class),參數)
11. daoimp extends jdbcdaosupprot , 在xml中,聲明daoimp這個bean, 把datasoure注入.
在daoimp,this.jdbcTemplate
12.spring 事物管理的優點:
1.提供一致的對於不同的事物管理的API
2.支持聲明式事務管理
3.優秀的整合與spring的數據訪問
4.事物管理的三個接口: platformtransactionst(事物管理器) transactionstatus(事物運行狀態)
transactiondefinition 事物的一些相關信息 例如隔離 傳播 超時,只讀
13. Platformtransactionmanager: 平臺事物管理器 作用: 解決在不同的持久化層技術事物代碼不同問題.
datasourcesactionmanager 用於mybatis
hibernatesactoinmanager 用於hibernate
14.隔離 transactiondefinition 中定義大量的常量:
ioslation_defualt 後端數據庫默認的隔離級別
ioslation_read_uncommited: 髒讀,不可重複讀,虛讀都不解決.
超時 timeout_default 默認值是-1 ,數據庫超時
只讀 : 一般用與查詢 true/false
傳播: 解決的是兩個被事物管理的方法互相調用問題.它與數據庫沒關係.
propagation required: 默認值 兩個操作處於同一事物,
PROPAGATION_REQUIRES_NEW 兩個操作處於不同的事務
PROPAGATION_NESTED
它是一種嵌套事務,它是使用SavePoint來實現的。事務回滾時可以回滾到指定的savepoint
注意:它只對DataSourceTransactionManager有作用
15.聲明式事物管理: 1.編碼方案: 不建議使用,具有侵入性,在原有的業務代碼基礎上去添加事物管裏代碼
2.聲明式事物控制,基於aop對目標進行代理,添加around環繞通知.
16. 基於xml事物管理:
添加aop和tx名稱空間 1.聲明事物管理器:
2.配置通知 對於增強 ,使用spring <tx:advice id="" transaction-manager=>
<tx:attributes><tx:method name="操作的方法,可以使用通配符" 增強方法到程度選擇:
isolation="隔離級別" propagation="事物傳播"
timeout="超時時間默認值" read-only是否只讀
rollback-for 設置一個異常,產生異常,觸發事物回滾 no- rollback-for不會發生事物回滾 >
3.配置切面:使用傳統的spring配置 , 增強哪個方法
17. 基於註解事物管理: 可以使用 @Transaction(屬性....) 在類或方法上添加事物管理.
xml中開啓註解事物掃描 <tx:annotation-driven transaction-manage="">
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.