【第14章】MyBatis-Spring之SqlSessionFactoryBean

【第14章】MyBatis-Spring之SqlSessionFactoryBean

码农世界 2024-05-23 后端 60 次浏览 0个评论

文章目录

  • 前言
  • 一、设置
  • 二、属性
    • 1. 介绍
    • 2.案例
    • 3. 无配置文件
    • 总结

      前言

      在基础的 MyBatis 用法中,是通过 SqlSessionFactoryBuilder 来创建 SqlSessionFactory 的。而在 MyBatis-Spring 中,则使用 SqlSessionFactoryBean 来创建。


      一、设置

      这个我们在上一章入门的时候已经使用过了

      
        
      
      

      需要注意的是 SqlSessionFactoryBean 实现了 Spring 的 FactoryBean 接口。 这意味着由 Spring 最终创建的 bean 并不是 SqlSessionFactoryBean 本身,而是工厂类(SqlSessionFactoryBean)的 getObject() 方法的返回结果。这种情况下,Spring 将会在应用启动时为你创建 SqlSessionFactory,并使用 sqlSessionFactory 这个名字存储起来。

      二、属性

      1. 介绍

      SqlSessionFactory 有一个唯一的必要属性:用于 JDBC 的 DataSource。这可以是任意的 DataSource 对象,它的配置方法和其它 Spring 数据库连接是一样的。

      属性描述
      dataSource用于 JDBC 的 DataSource
      configLocation它用来指定 MyBatis 的 XML 配置文件路径。它在需要修改 MyBatis 的基础配置非常有用。通常,基础配置指的是 或 元素。
      mapperLocations用来指定 MyBatis 的映射器 XML 配置文件的位置,可以指定加载一个目录中的所有文件,或者从一个目录开始递归搜索所有目录。
      databaseIdProvider多个数据库,配置数据库标识
      typeAliasesPackage包别名

      需要注意的是,这个配置文件并不需要是一个完整的 MyBatis 配置。确切地说,任何环境配置(),数据源()和 MyBatis 的事务管理器()都会被忽略。 SqlSessionFactoryBean 会创建它自有的 MyBatis 环境配置(Environment),并按要求设置自定义环境的值。

      2.案例

      
      
          
          
          
          
          
      
      
          
              
                  sqlserver
                  db2
                  oracle
                  mysql
              
          
      
      

      3. 无配置文件

      自 1.3.0 版本开始,新增的 configuration 属性能够在没有对应的 MyBatis XML 配置文件的情况下,直接设置 Configuration 实例。

      
        
        
          
            
          
        
      
      

      也就是说在spring中,我们可以完全脱离mybatis的配置文件,以spring的形式去配置。


      总结

      回到顶部

      这样一来,spring就覆盖了原来mybatis-config.xml的大部分配置。

      原来的typeAliases、environments、databaseIdProvider、mappers都可以注释或删除掉。

转载请注明来自码农世界,本文标题:《【第14章】MyBatis-Spring之SqlSessionFactoryBean》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,60人围观)参与讨论

还没有评论,来说两句吧...

Top