详解 MapperScannerConfigurer之sqlSessionFactory注入方式

 更新时间:2017年04月10日 09:20:06   投稿:lqh  
这篇文章主要介绍了详解 MapperScannerConfigurer之sqlSessionFactory注入方式的相关资料,需要的朋友可以参考下

MapperScannerConfigurer之sqlSessionFactory注入方式讲解

首先,Mybatis中的有一段配置非常方便,省去我们去写DaoImpl(Dao层实现类)的时间,这个配置就是包扫描。。。。

让我们先来看一段代码:

  <!-- 4:配置扫描Dao接口的包,动态实现Dao接口,注入到Spring容器中 -->
  <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <!--这里是今天要说的重点-->
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
    <!-- 给出需要扫描的Dao接口包 -->
    <property name="basePackage" value="org.seckill.dao"></property>
  </bean>

在MapperScannerConfigurer中,我们知道sqlSessionFactory的注入方式有四种,分别是sqlSessionFactory,sqlSessionFactoryBeanName,sqlSessionTemplate,sqlSessionTemplateBeanName,而sqlSessionFactory这种已经过时,所以我们用到的是sqlSessionFactoryBeanName,接下来说说这个的好处,为什么要用到它!

原因1:

注入sqlSessionFactory,(可以不用配置)只有当配置多数据源的时候,这时会有多个sqlSessionFactory,可以通过改属性来指定哪一个sqlSessionFactory(综合网上的总结)

原因2(重点):

注入sqlSessionFactory,后面的value是SqlSessionFactory的bean的名字,也就是sqlSessionFactory的id当我们的mapperscannerconfigurer启动的时候,可能会出现我们的jdbc.properties文件未被加载,这样的话它拿到的DataSource就是错误的,因为像${jdbc.url}这类的属性还没有被替换掉,所以通过BeanName后处理的方式,当我们去用我们的Mybatis的时候,它才会去找我们对应的sqlSessionFactory,为了防止它提前初始化我们的sqlSessionFactory .

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • 2024 Navicat Premium最新版简体中文版激活永久图文详细教程(亲测可用)

    2024 Navicat Premium最新版简体中文版激活永久图文详细教程(亲测可用)

    这篇文章主要介绍了2024 Navicat Premium最新版简体中文版激活永久图文详细教程,文章通过图文结合的方式给大家讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-09-09
  • SQL 注入式攻击的本质

    SQL 注入式攻击的本质

    SQL 注入式攻击,又是注入式攻击,没想到2008年这个老掉牙的东西又出来搅风搅雨
    2008-12-12
  • 将sqlite3中数据导入到mysql中的实战教程

    将sqlite3中数据导入到mysql中的实战教程

    最近因为工作的需求,需要将sqlite3中的数据导入到mysql中去,发现网上的一些教程都不够详细,索性自己写一篇,下面这篇文章主要给大家介绍了关于将sqlite3数据库中的数据导入到mysql数据库中的相关资料,需要的朋友可以参考下。
    2017-07-07
  • 8种主流NoSQL数据库系统特性对比和最佳应用场景

    8种主流NoSQL数据库系统特性对比和最佳应用场景

    这篇文章主要介绍了8种主流NoSQL数据库系统特性对比和最佳应用场景,对选择一个NoSQL数据库来说是一个不错的参考文章,需要的朋友可以参考下
    2014-06-06
  • Spark SQL操作JSON字段的小技巧

    Spark SQL操作JSON字段的小技巧

    这篇文章主要给大家介绍了关于Spark SQL操作JSON字段的小技巧,文中通过示例代码介绍的非常详细,对大家学习或者使用spark sql具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04
  • SQL UPDATE 更新语句用法(单列与多列)

    SQL UPDATE 更新语句用法(单列与多列)

    更新操作是数据库中最常用的操作之一,下面将为您介绍update语句的三种使用方法,供您参考,希望对您有所帮助
    2017-08-08
  • 由拖库攻击谈口令字段的加密策略(数据库加密)

    由拖库攻击谈口令字段的加密策略(数据库加密)

    我不得不惨痛地写在前面的是,这是一个安全崩盘的时代。过去一年,已经证实的遭遇入侵、并导致关键数据被窃或者被泄露的公司,包括索尼、世嘉这样的大型游戏设备厂商;包括花旗银行这样的金融机构,也包括了RSA这样的安全厂商
    2012-01-01
  • 颜值与实用性并存的数据库建模工具Chiner教程

    颜值与实用性并存的数据库建模工具Chiner教程

    这篇文章主要为大家介绍了一款颜值与实用性并存的数据库建模工具Chiner,推荐大家使用,有需要的朋友可以共同学习参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • Dbeaver如何从一个数据库复制表到另外一个数据库

    Dbeaver如何从一个数据库复制表到另外一个数据库

    在数据库管理中,导出表是一项常见操作,可以通过特定的工具或数据库自带的功能实现,步骤包括:1.在数据库管理软件中找到需导出的表,右键选择导出数据,2.选择目标数据库,并进行表映射设置,3.根据需求调整导出参数,4.执行操作完成数据导出
    2024-10-10
  • 分享三种高效率SQL语句分页方法

    分享三种高效率SQL语句分页方法

    分享三种高效率SQL语句分页方法,需要的朋友可以参考下。
    2011-09-09

最新评论