详解 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 .

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

相关文章

  • Linux下mysql数据库的创建导入导出 及一些基本指令

    Linux下mysql数据库的创建导入导出 及一些基本指令

    这篇文章主要介绍了Linux数据库的创建 导入导出 以及一些基本指令,需要的朋友可以参考下
    2019-08-08
  • Linux下开启和配置OpenGauss数据库远程连接的教程详解

    Linux下开启和配置OpenGauss数据库远程连接的教程详解

    openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行,本文主要为大家介绍了Linux系统中如何开启和配置OpenGauss数据库的远程连接,需要的小伙伴可以参考下
    2023-12-12
  • Navicat for SQLite安装使用教程 附安装包

    Navicat for SQLite安装使用教程 附安装包

    这篇文章主要介绍了Navicat for SQLite安装教程 附安装包,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • 数据库的三级模式和两级映射介绍

    数据库的三级模式和两级映射介绍

    在这里大家一定要注意三级模式中的概念模式对应的是数据库设计的逻辑模型,而不是概念模型(E-R模型),一定不要弄混了
    2012-10-10
  • 把Navicat中数据库所有表导出的方法

    把Navicat中数据库所有表导出的方法

    通过Navicat导出数据库中的数据是比较常用的操作之一,下面这篇文章主要给大家介绍了关于如何把Navicat中数据库所有表导出的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • redis安装、配置、使用和redis php扩展安装教程

    redis安装、配置、使用和redis php扩展安装教程

    这篇文章主要介绍了redis安装、配置、使用和redis php扩展安装教程,其中redis使用的是编译安装,同时介绍了redis常用配置说明、常用命令,要的朋友可以参考下
    2014-05-05
  • sql中left join的效率分析与提高效率方法

    sql中left join的效率分析与提高效率方法

    网站随着数据量与访问量越来越大,访问的速度变的越来越慢,于是开始想办法解决优化速度慢的原因,下面是对程序中一条sql的分析与提高效率的过程
    2018-03-03
  • 程序员应该知道的数据库设计的两个误区

    程序员应该知道的数据库设计的两个误区

    在几乎所有的企业级应用程序中,包括各种MIS、ERP、CRM等等,都会使用数据库,这样的好处是显而易见的,很容易地实现了数据层和业务逻辑层的分离,而且对于性能的优化也在一定程度上提供了便利。
    2010-07-07
  • Hive常用日期格式转换语法

    Hive常用日期格式转换语法

    这篇文章主要为大家介绍了Hive常用日期格式转换语法的操作示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 大数据时代的数据库选择:SQL还是NoSQL?

    大数据时代的数据库选择:SQL还是NoSQL?

    执行大数据项目的企业面对的关键决策之一是使用哪个数据库,SQL还是NoSQL?SQL有着骄人的业绩,庞大的安装基础;而NoSQL正在获得可观的收益,且有很多支持者。我们来看看两位专家对这个问题的看法
    2014-03-03

最新评论