需要spring和mybatis的整合包 mybatis-spring-1.2.2.jar
在spring容器中載入sqlsessionfactory類 org.mybatis.spring.sqlsessionfactorybean
a.需要載入mybatis的配置檔案 configlocation 字串注入 mybatis配置檔案位址
b.需要載入資料來源 ref注入第三方資料來源(自帶的資料來源一般用於測試環境不用於生產環境)
c.配置別名 typealiasespackage 注入包的字串
第三放資料來源 druid,c3p0,dbcp…每種資料來源都有自己注入的屬性
一般載入第三方資料來源需要從配置檔案中載入連線的資料
載入資料庫的配置檔案 org.springframework.beans.factory.config.propertyplaceholderconfigurer
(spring提供的外部屬性載入的類,此類在整個容器中只能有乙個,先載入的先用)
配置spring的事務
註解式spring事務
a.用spring自帶的事務類 org.springframework.jdbc.datasource.datasourcetransactionmanager (需要注入資料來源)
b.開啟spring事務註解支援 tx:annotation-driven 設定spring的事務為預設的事務 transaction-manager指定成spring的事務
c.在service層需要增加事務的方法上加@transactional 當前方法就支援事務
aop配置service層事務
a.用spring自帶的事務類 org.springframework.jdbc.datasource.datasourcetransactionmanager
需要注入資料來源
b.aop宣告式事務使用的是around通知
配置切入點,配置通知 aop:advisor 指向tx:advice
配置tx:advice 攔截響應地 方法
事務的傳播屬性propagation(了解)
required 支援當前事務,如果b沒有事務,新建乙個事務
supports 支援當前事務,如果b沒有事務,以非事務方法執行
mandatory 支援當前事務,如果b沒有事務,直接丟擲異常
required_new 新建事務,如果a有事務,a會先掛起,執行b
not_supported 非事務執行,如果a 有事務,a掛起,b不帶事務
never 只有有事務就出現異常
兩種方式的優缺點
1.註解式事務,配置簡單,使用靈活,aop配置配置繁瑣,而且方法必須要按規範命名
2.註解式事務不能統一給service配置事務,aop配置能統一給業務層加事務
<?xml version="1.0" encoding="utf-8"?>
mybatis-config.xml
<?xml version='1.0' encoding='utf-8'?>
spring和mybatis的整合
若要整合spring和mybatis就需要乙個外掛程式即mybatis spring x.x.x.jar。具體的安裝如下所示 org.mybatis mybatis spring x.x.x 要和spring一起使用 mybatis,還需要在 spring 應用上下文中定義至少兩樣東西 乙個 sql...
spring和mybatis的整合
使用連線池連線資料庫 commons dbcp.jar commons pool.jar mybatis spring.jar mybatis config2.xml xml version 1.0 encoding utf 8 doctype configuration public config...
二 mybatis和spring結合
配置 xmlns xmlns context xmlns p xmlns aop xmlns tx xmlns xsi xsi schemalocation spring beans 4.0.xsd spring context 4.0.xsd spring aop 4.0.xsd spring t...