Java EE之第10章MyBatis与Spring的整合

10.1传统DAO方式的开发整合

采用传统DAO开发方式进行MyBatis与Spring的整合时,我们需要编写DAO接口及接口的实现类,并且需要向DAO实现类中注入SqlSessionFactory,然后在方法体内通过SqlSessionFactory创建SqlSession。为此,我们可以实现mybatis-spring包中所提供的SqlSessionTemplate类或SqlSessionDaoSupport类来实现此功能

(1)SqlSessionTemplate:是mybatis-spring的核心类,他负责管理MyBatis的SqlSession,调用MyBatis的SQL方法。当调用SQL方法时,SqlSessionTemplate将会保证使用的SqlSession和当前Spring的事务是相关的。他还管理SqlSession的生命周期,包含必要的关闭,提交和回滚操作

(1)SqlSessionDaoSupport:是一个抽象支持类,他继承了DaoSupport类,主要是作为DAO的基类来使用。可以通过SqlSessionDaoSupport类的getSqlSession()方法来获取所需的SqlSession

10.2基于MapperFactoryBean的整合

MapperFactoryBean:是MyBatis-Spring团队的一个用于根据Mapper接口生成Mapper对象的类,该类在Sprng配置文件中使用时可以配置以下参数:

(1)mapperlnterface:用于指定接口

(2)sqlSessionFactory:用于指定sqlSessionFactory

(3)sqlSessionFactory:用于指定SqlSessionTemplate。如果与SqlSessionTemplate同时设定,则只会启动SqlSessionTemplate

Mapper接口编程方式需要遵循以下规范:
(1)Mapper接口的名称和对应的Mapper.xml映射文件的名称必须一致

(2)Mapper.xml文件中namespace与Mapper接口的类路径相同(即接口文件和映射文件需要放在同一个包)

(3)Mapper接口中的方法名和Mapper.xml中定义的每个执行语句的id相同

(4)Mapper接口中方法的输入参数类型要和Mapper.xm中定义的每个sql的parameterType的类型相同

(5)Mapper接口方法的输出参数类型要和Mapper.xm中定义的每个sql的resultType的类型相同

10.3基于MapperScannerConfigurer的整合

MyBatis-Spring团队提供了一种自动扫描的形式来配置MyBatis中的映射器——采用MapperScannerConfigurer类

MapperScannerConfigurer类在Spring配置文件中使用时可以配置以下几个属性:

(1)basePackage:指定映射接口文件所在的包路径,当需要扫描多个包时可以使用分号或逗号作为分隔符。指定包路径后,会扫描包及其子包的所有文件

(2)annotationClass:指定了要扫描的注解名称,只有被注解标识的类才会被配置为映射器

(3)sqlSessionFactoryBeanName:指定在Spring中的定义的sqlSessionFactory的Bean名称

(4)sqlSessionTemplateBeanName:指定在Spring中的定义的sqlSessionTemplate的Bean名称。如果定义此属性,则sqlSessionFactoryBeanName将不起作用

(5)markerinterface:指定创建映射器的接口

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值