版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第一章1.1整合動機(jī)正如第二版,Spring第一章1.1整合動機(jī)正如第二版,SpringiBatis2MyBatis3(SpringJira的問題)中。不幸的是,Spring3.0MyBatis3.0官方發(fā)布前就Spring開發(fā)團(tuán)隊不想發(fā)布一個基于非發(fā)行版的MyBatisSpringSpringMyBatis整合的時候了。SpringMyBtatis這兩個流行框架的膠水。減少用戶不得不來配置MyBatis和Spring3.XSpringMyBatis事務(wù)的支持。1.2要求SpringMyBatisMyBatis一樣,MyBatis-SpringJava51.3感謝非常感謝那些使得本項目成為現(xiàn)實的人們(按字母順序排序。EduardoMacarron,GiovanniCuccu,RajNagappan和TomasPinos的貢獻(xiàn);而SimoneTripodi發(fā)現(xiàn)了這些人并第二章MyBatis-Spring幫助了你的MyBatis代碼和SpringSpringMyBatissession第二章MyBatis-Spring幫助了你的MyBatis代碼和SpringSpringMyBatissessionservicebeanMyBatis的數(shù)據(jù)映射器。最終,MyBatis-Spring將會控制事務(wù),MyBatisSpringDataAccessException異常(數(shù)據(jù)訪問異常,譯者注。2.1安裝Mavenpom.xml2.2快速創(chuàng)建beanSpringXML配置文件中:DataSource.Spring數(shù)據(jù)庫連接一樣。Spring<beanid="userMapper"<propertyname="sqlSessionFactory"ref="sqlSessionFactory"UsergetUser(@Param("userId")StringuserId);<propertyname="dataSource"ref="dataSource"SQLSQLMyBatisXMLSpringDataAccessException異常。MyBatisUseruser=第三章MyBatis中,sessionSqlSessionFactoryBuilder.第三章MyBatis中,sessionSqlSessionFactoryBuilder.3.1創(chuàng)建beanSpringXMLJava中,相同的代碼是:SqlSessionDaoSupportDAO(DataAccessObject,數(shù)據(jù)訪問對象,譯者注)中。3.2屬性SqlSessionFactoryJDBCDataSourceMyBatisEnvironment時是需要的。MyBatisXMLMyBatisXML配mapperLocationslistMyBatisXML映<propertyname="dataSource"ref="dataSource"sample.config.mapperssample.config.mappersMyBatisXMLtransactionFactoryClass。我們可<propertyname="dataSource"ref="dataSource"第四章MyBatis-SpringMyBatisSpring給MyBatis第四章MyBatis-SpringMyBatisSpring給MyBatis創(chuàng)建一個新的特定的事務(wù)管理器,MyBatis-Spring利用了Spring中的session會以合適的方式提交或回滾。4.1標(biāo)準(zhǔn)配置要開啟Spring的事務(wù)處理,在你的Spring的XML配置文件中簡單創(chuàng)建一個4.2容器管理事務(wù)JEESpring參與到容器管理事務(wù)(ContainerSqlSession。如果沒有開始事務(wù),或者需要基于事務(wù)配置,Spring會開啟一個新的容器管理事務(wù)。注意,如果你想使用CMT,而不想使用Spring的事務(wù)管理,你就必須配置<propertyname="dataSource"ref="dataSource"value="org.apache.ibatis.transaction.managed.ManagedTransactionFactory"/><tx:jta-transaction-manager<beanid="transactionManager"<propertyname="dataSource"ref="dataSource"第五章第五章session之后,你可以使用它來執(zhí)行映射語句,提交或回滾連接,最后,當(dāng)不再需要它的時session。5.1SqlSessionDaoSupport是一個抽象的支持類,用來為你提供SqlSession。調(diào)用SqlSession通常DAOMyBatisSqlSessionDaoSupportMapperFactoryBeanSqlSessionFactory是被忽略的。5.2SqlSessionTemplate是MyBatis-SpringMyBatis的SqlSessionSpringsession的生命SqlSession.SqlSessionTemplate是被用來替代SqlSession的,因為MyBatis基本的<propertyname="sqlSessionFactory"ref="sqlSessionFactory"publicclassUserMapperDaoImplextendsSqlSessionDaoSupportimplementsUserMapperpublicUsergetUser(StringuserId)SqlSessionSpringSqlSessionSpringSqlSessionFactory作為構(gòu)造方法的參數(shù)來創(chuàng)建。SpringXMLSqlSessionTemplateExecutorType作為參數(shù)的構(gòu)造方法。這允許你用來SqlSessionSpringXML文件:DAO使用。對這種形式需要說明的是當(dāng)這個方法被調(diào)用時,不能有一個存在使用不同ExecutorType運行的事務(wù)。也要保證在不同的事務(wù)中,使用不同執(zhí)行器來調(diào)用SqlSessionTemplatePROPAGATION_REQUIRES_NEW或完全在一個事務(wù)外publicvoidinsertUsers(User[]users){for(Useruser:users){<beanid="sqlSession"<constructor-argindex="0"ref="sqlSessionFactory"<constructor-argindex="1"value="BATCH"SqlSessionTemplatesessionTemplate=new第六章第六章用你的DAO一樣調(diào)用它們就可以了,但是你不需要編寫任何DAO實現(xiàn)的代碼,因為MyBatis-Spring將會為你創(chuàng)建代理。MyBatis,SpringMyBatis-Spring上面不會有直接的依賴。MapperFactoryBean創(chuàng)建的代理控制開放和關(guān)閉sessionDataAccessException異常到Spring的異常中。此外,如果需要或參與到一個已經(jīng)存在活動事務(wù)中,代理將會開Spring事務(wù)。6.1創(chuàng)建Spring件中去指定映射器,除非映射器的XML文件在不同的類路徑下??梢詤⒖糞qlSessionFactoryBeanconfigLocation屬性(第三章)來獲取更多信息。SpringSqlSessionFactory就會被忽略,因為6.2注入映射器business/serviceSpringbeanbean<propertyname="userMapper"ref="userMapper"<beanid="userMapper"<propertyname="sqlSessionFactory"ref="sqlSessionFactory"SqlSessionMyBatissessionSpring的事務(wù),那么當(dāng)事務(wù)完成或由于錯誤回滾時,sessionSqlSessionMyBatissessionSpring的事務(wù),那么當(dāng)事務(wù)完成或由于錯誤回滾時,session也會被6.3自動配置沒有必要在Spring的XMLMapperScannerConfigurer,它將會查找類路徑下的映射器并自動將它們創(chuàng)建成注意,沒有必要去指定SqlSessionFactory或SqlSessionTemplate,因為失效。這種情況下,你可以使用sqlSessionFactoryBeanNameMapperScannerConfigurer支持過濾由指定的創(chuàng)建接口或注解創(chuàng)建映射器。annotationClassmarkerInterface屬性指定了要尋找的父null,所以在基包中給定的所有接口可以作為映射器加載。名。但是如果發(fā)現(xiàn)了@ComponentJSR-330@Named <bean<propertyname="basePackage"value="org.mybatis.spring.sample.mapper"publicUserdoSomeBusinessStuff(StringuserId)第七章MyBatis使用第七章MyBatis使用MyBatis-Spring,你可以繼續(xù)直接使用MyBatis的API。僅僅在Spring中使用SqlSessionFactoryMyBatis-SpringDAO中使用注入的SqlSessionFactory就行了。publicclassUserMapperSqlSessionImplimplementsUserMapper//privateSqlSessionFactorypublicvoidsetSqlSessionFactory(SqlSessionFactorysqlSessionFactory)this.sqlSessionFactory=publicUsergetUser(StringuserId)注意標(biāo)準(zhǔn)的MyBatisAPI手動打開和關(guān)閉sessionSqlSessionsessionsqlSessionFactory.openSession();try{return(User)第八章示例代碼GoogleCodeMyBatis第八章示例代碼GoogleCodeMyBatisJavaJUnit4這個service使用M
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年低壓電工理論知識全真模擬考試卷含答案(四)
- 項目周期和費用保障承諾書4篇
- 心靈減壓與舒緩工作坊活動方案
- 一次特別的運動會體驗作文8篇范文
- 網(wǎng)絡(luò)技術(shù)服務(wù)承諾函(8篇)
- 網(wǎng)絡(luò)信息安全責(zé)任書模板4篇
- 2026上半年貴州事業(yè)單位聯(lián)考貴州省住房和城鄉(xiāng)建設(shè)廳招聘16人備考題庫帶答案詳解(模擬題)
- 2026四川樂山市沐川縣人力資源和社會保障局招聘城鎮(zhèn)公益性崗位人員10人備考題庫及答案詳解(名校卷)
- 安徽師范大學(xué)《室內(nèi)設(shè)計》2024 - 2025 學(xué)年第一學(xué)期期末試卷
- 2026安徽滁州瑯琊區(qū)消防救援局政府專職消防員招聘8人備考題庫及答案詳解(奪冠系列)
- 井下應(yīng)急廣播管理制度
- 云原生架構(gòu)與GitOps實戰(zhàn)閱讀備忘錄
- 有效排痰護(hù)理
- 醫(yī)院培訓(xùn)課件:《老年綜合征及老年綜合評估》
- 養(yǎng)老服務(wù)專項資金支付審核流程
- 尸檢申請書模板
- 《網(wǎng)絡(luò)安全標(biāo)準(zhǔn)實踐指南-網(wǎng)絡(luò)數(shù)據(jù)安全風(fēng)險評估實施指引》
- 平滑肌瘤完整版本
- 唱歌技巧教學(xué)課件模板
- 豬場母豬能繁項目母豬生產(chǎn)線土建鋼構(gòu)舍水電工程施工方案與技術(shù)措施
- 企業(yè)社會責(zé)任手冊
評論
0/150
提交評論