整合使用持久层框架mybatis 使用SqlSessionTemplate模板类与使用映射接口 对比

spring中整合使用mybatis的用法总结

一:在Spring配置Mybatis

第一步:将mybatis-spring类包添加 到项目的类库中

第二步:编写spring和持久层衔接的xml文件,这里起名为spring-dao.xml

  1. <!-- 3:配置SqlSessionFactory对象 -->
  2. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> ①
  3. <!-- 注入数据库连接池 -->
  4. <property name="dataSource" ref="dataSource"/>
  5. <!-- 配置MyBatis全局配置文件:mybatis-config.xml -->
  6. <property name="configLocation" value="classpath:mybatis-config.xml"/>②
  7. <!-- 扫描entity包 使用别名 -->
  8. <property name="typeAliasesPackage" value=""/>
  9. <!-- 扫描sql配置文件:mapper需要的xml文件 -->
  10. <property name="mapperLocations" value="classpath:mapper/*.xml"/> ③
  11. </bean>

mybatis-spring 类包提供了SqlSessionFactoryBean,以便通过Spring风格创建mybatis的SqlSessionFactory,如①所示。只需要注入数据源并指定mybatis的总配置文件就可以了,如②所示。 mapperLocations属性支持扫描式加载sql映射文件。

二:编写myBatis中的dao

第一种方法:使用SqlSessionTemplate模板类

  1. mybatis- spring效仿spring的风格提供了一个模板类SqlSessionTemplate,可以通过模板类轻松访问数据库
  2. 但是这种方法使用字符串指定映射项,容易引起错误,因为字符串本身没有语义性,如果存在编写错误,编译器无法识别,只能在运行期发现。

第二种方法:使用映射接口

接口的名称和映射命名空间相同,接口方法和映射基的id相同
第一步:在spring-dao.xml中添加配置
  1. <!-- 4:配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中-->
  2. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  3. <!-- 注入sqlSessionFactory -->
  4. <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
  5. <!-- 给出需要扫描Dao接口包 -->
  6. <property name="basePackage" value=""/>
  7. </bean>

MapperScannerConfigurer将扫描basePackage所指定的包下的所有的接口类(包括子包),如果它们在sql映射文件中定义过,则将它们动态定义为Spring Bean,这样我们就可以在Service中直接注入映射接口的bean了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微笑点燃希望

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值