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="">



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章