參考mybatis中文版教程_第1頁
參考mybatis中文版教程_第2頁
參考mybatis中文版教程_第3頁
參考mybatis中文版教程_第4頁
參考mybatis中文版教程_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第一章1.1整合動機正如第二版,Spring第一章1.1整合動機正如第二版,SpringiBatis2MyBatis3(SpringJira的問題)中。不幸的是,Spring3.0MyBatis3.0官方發(fā)布前就Spring開發(fā)團隊不想發(fā)布一個基于非發(fā)行版的MyBatisSpringSpringMyBatis整合的時候了。SpringMyBtatis這兩個流行框架的膠水。減少用戶不得不來配置MyBatis和Spring3.XSpringMyBatis事務的支持。1.2要求SpringMyBatisMyBatis一樣,MyBatis-SpringJava51.3感謝非常感謝那些使得本項目成為現(xiàn)實的人們(按字母順序排序。EduardoMacarron,GiovanniCuccu,RajNagappan和TomasPinos的貢獻;而SimoneTripodi發(fā)現(xiàn)了這些人并第二章MyBatis-Spring幫助了你的MyBatis代碼和SpringSpringMyBatissession第二章MyBatis-Spring幫助了你的MyBatis代碼和SpringSpringMyBatissessionservicebeanMyBatis的數(shù)據(jù)映射器。最終,MyBatis-Spring將會控制事務,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)建一個新的特定的事務管理器,MyBatis-Spring利用了Spring中的session會以合適的方式提交或回滾。4.1標準配置要開啟Spring的事務處理,在你的Spring的XML配置文件中簡單創(chuàng)建一個4.2容器管理事務JEESpring參與到容器管理事務(ContainerSqlSession。如果沒有開始事務,或者需要基于事務配置,Spring會開啟一個新的容器管理事務。注意,如果你想使用CMT,而不想使用Spring的事務管理,你就必須配置<propertyname="dataSource"ref="dataSource"value="org.apache.ibatis.transaction.managed.ManagedTransactionFactory"/><tx:jta-transaction-manager<beanid="transactionManager"<propertyname="dataSource"ref="dataSource"第五章第五章session之后,你可以使用它來執(zhí)行映射語句,提交或回滾連接,最后,當不再需要它的時session。5.1SqlSessionDaoSupport是一個抽象的支持類,用來為你提供SqlSession。調(diào)用SqlSession通常DAOMyBatisSqlSessionDaoSupportMapperFactoryBeanSqlSessionFactory是被忽略的。5.2SqlSessionTemplate是MyBatis-SpringMyBatis的SqlSessionSpringsession的生命SqlSession.SqlSessionTemplate是被用來替代SqlSession的,因為MyBatis基本的<propertyname="sqlSessionFactory"ref="sqlSessionFactory"publicclassUserMapperDaoImplextendsSqlSessionDaoSupportimplementsUserMapperpublicUsergetUser(StringuserId)SqlSessionSpringSqlSessionSpringSqlSessionFactory作為構造方法的參數(shù)來創(chuàng)建。SpringXMLSqlSessionTemplateExecutorType作為參數(shù)的構造方法。這允許你用來SqlSessionSpringXML文件:DAO使用。對這種形式需要說明的是當這個方法被調(diào)用時,不能有一個存在使用不同ExecutorType運行的事務。也要保證在不同的事務中,使用不同執(zhí)行器來調(diào)用SqlSessionTemplatePROPAGATION_REQUIRES_NEW或完全在一個事務外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)建的代理控制開放和關閉sessionDataAccessException異常到Spring的異常中。此外,如果需要或參與到一個已經(jīng)存在活動事務中,代理將會開Spring事務。6.1創(chuàng)建Spring件中去指定映射器,除非映射器的XML文件在不同的類路徑下??梢詤⒖糞qlSessionFactoryBeanconfigLocation屬性(第三章)來獲取更多信息。SpringSqlSessionFactory就會被忽略,因為6.2注入映射器business/serviceSpringbeanbean<propertyname="userMapper"ref="userMapper"<beanid="userMapper"<propertyname="sqlSessionFactory"ref="sqlSessionFactory"SqlSessionMyBatissessionSpring的事務,那么當事務完成或由于錯誤回滾時,sessionSqlSessionMyBatissessionSpring的事務,那么當事務完成或由于錯誤回滾時,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)注意標準的MyBatisAPI手動打開和關閉sessionSqlSessionsessionsqlSessionFactory.openSession();try{return(User)第八章示例代碼GoogleCodeMyBatis第八章示例代碼GoogleCodeMyBatisJavaJUnit4這個service使用M

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論