参考mybatis中文版教程_第1页
参考mybatis中文版教程_第2页
参考mybatis中文版教程_第3页
参考mybatis中文版教程_第4页
参考mybatis中文版教程_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章1.1整合动机正如第二版,Spring第一章1.1整合动机正如第二版,SpringiBatis2MyBatis3(SpringJira的问题)中。不幸的是,Spring3.0MyBatis3.0官方发布前就Spring开发团队不想发布一个基于非发行版的MyBatisSpringSpringMyBatis整合的时候了。SpringMyBtatis这两个流行框架的胶水。减少用户不得不来配置MyBatis和Spring3.XSpringMyBatis事务的支持。1.2要求SpringMyBatisMyBatis一样,MyBatis-SpringJava51.3感谢非常感谢那些使得本项目成为现实的人们(按字母顺序排序。EduardoMacarron,GiovanniCuccu,RajNagappan和TomasPinos的贡献;而SimoneTripodi发现了这些人并第二章MyBatis-Spring帮助了你的MyBatis代码和SpringSpringMyBatissession第二章MyBatis-Spring帮助了你的MyBatis代码和SpringSpringMyBatissessionservicebeanMyBatis的数据映射器。最终,MyBatis-Spring将会控制事务,MyBatisSpringDataAccessException异常(数据访问异常,译者注。2.1安装Mavenpom.xml2.2快速创建beanSpringXML配置文件中:DataSource.Spring数据库连接一样。Spring<beanid="userMapper"<propertyname="sqlSessionFactory"ref="sqlSessionFactory"UsergetUser(@Param("userId")StringuserId);<propertyname="dataSource"ref="dataSource"SQLSQLMyBatisXMLSpringDataAccessException异常。MyBatisUseruser=第三章MyBatis中,sessionSqlSessionFactoryBuilder.第三章MyBatis中,sessionSqlSessionFactoryBuilder.3.1创建beanSpringXMLJava中,相同的代码是:SqlSessionDaoSupportDAO(DataAccessObject,数据访问对象,译者注)中。3.2属性SqlSessionFactoryJDBCDataSourceMyBatisEnvironment时是需要的。MyBatisXMLMyBatisXML配mapperLocationslistMyBatisXML映<propertyname="dataSource"ref="dataSource"sample.config.mapperssample.config.mappersMyBatisXMLtransactionFactoryClass。我们可<propertyname="dataSource"ref="dataSource"第四章MyBatis-SpringMyBatisSpring给MyBatis第四章MyBatis-SpringMyBatisSpring给MyBatis创建一个新的特定的事务管理器,MyBatis-Spring利用了Spring中的session会以合适的方式提交或回滚。4.1标准配置要开启Spring的事务处理,在你的Spring的XML配置文件中简单创建一个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之后,你可以使用它来执行映射语句,提交或回滚连接,最后,当不再需要它的时session。5.1SqlSessionDaoSupport是一个抽象的支持类,用来为你提供SqlSession。调用SqlSession通常DAOMyBatisSqlSessionDaoSupportMapperFactoryBeanSqlSessionFactory是被忽略的。5.2SqlSessionTemplate是MyBatis-SpringMyBatis的SqlSessionSpringsession的生命SqlSession.SqlSessionTemplate是被用来替代SqlSession的,因为MyBatis基本的<propertyname="sqlSessionFactory"ref="sqlSessionFactory"publicclassUserMapperDaoImplextendsSqlSessionDaoSupportimplementsUserMapperpublicUsergetUser(StringuserId)SqlSessionSpringSqlSessionSpringSqlSessionFactory作为构造方法的参数来创建。SpringXMLSqlSessionTemplateExecutorType作为参数的构造方法。这允许你用来SqlSessionSpringXML文件:DAO使用。对这种形式需要说明的是当这个方法被调用时,不能有一个存在使用不同ExecutorType运行的事务。也要保证在不同的事务中,使用不同执行器来调用SqlSessionTemplatePROPAGATION_REQUIRES_NEW或完全在一个事务外publicvoidinsertUsers(User[]users){for(Useruser:users){<beanid="sqlSession"<constructor-argindex="0"ref="sqlSessionFactory"<constructor-argindex="1"value="BATCH"SqlSessionTemplatesessionTemplate=new第六章第六章用你的DAO一样调用它们就可以了,但是你不需要编写任何DAO实现的代码,因为MyBatis-Spring将会为你创建代理。MyBatis,SpringMyBatis-Spring上面不会有直接的依赖。MapperFactoryBean创建的代理控制开放和关闭sessionDataAccessException异常到Spring的异常中。此外,如果需要或参与到一个已经存在活动事务中,代理将会开Spring事务。6.1创建Spring件中去指定映射器,除非映射器的XML文件在不同的类路径下。可以参考SqlSessionFactoryBeanconfigLocation属性(第三章)来获取更多信息。SpringSqlSessionFactory就会被忽略,因为6.2注入映射器business/serviceSpringbeanbean<propertyname="userMapper"ref="userMapper"<beanid="userMapper"<propertyname="sqlSessionFactory"ref="sqlSessionFactory"SqlSessionMyBatissessionSpring的事务,那么当事务完成或由于错误回滚时,sessionSqlSessionMyBatissessionSpring的事务,那么当事务完成或由于错误回滚时,session也会被6.3自动配置没有必要在Spring的XMLMapperScannerConfigurer,它将会查找类路径下的映射器并自动将它们创建成注意,没有必要去指定SqlSessionFactory或SqlSessionTemplate,因为失效。这种情况下,你可以使用sqlSessionFactoryBeanNameMapperScannerConfigurer支持过滤由指定的创建接口或注解创建映射器。annotationClassmarkerInterface属性指定了要寻找的父null,所以在基包中给定的所有接口可以作为映射器加载。名。但是如果发现了@ComponentJSR-330@Named <bean<propertyname="basePackage"value="org.mybatis.spring.sample.mapper"publicUserdoSomeBusinessStuff(StringuserId)第七章MyBatis使用第七章MyBatis使用MyBatis-Spring,你可以继续直接使用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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论