MyBatis学习笔记(二)。核心配置文件mybatis-config.xml剖析。environments,properties,typeAliases,settings,mappers

MyBatis学习笔记(二)。核心配置文件mybatis-config.xml剖析。environments,properties,typeAliases,settings,mappers,第1张

MyBatis学习笔记(二)。核心配置文件mybatis-config.xml剖析。environments,properties,typeAliases,settings,mappers

文章目录

配置1 核心配置文件:mybatis-config.xml2 环境配置(environments)3 properties(属性)4 typeAliases(类型别名)5 settings(设置)6 映射器(mappers)

配置

官方文档:

https://mybatis.net.cn/configuration.html

在此代码基础上进行的核心配置文件讲解:

https://blog.csdn.net/weixin_45842494/article/details/122725240

1 核心配置文件:mybatis-config.xml

MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下:

configuration(配置)
properties(属性)
settings(设置)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境配置)
environment(环境变量)
transactionManager(事务管理器)
dataSource(数据源)
databaseIdProvider(数据库厂商标识)
mappers(映射器)

注意:这些配置在mybatis-config.xml是有顺序的,不能随意写,按照上面这个顺序就行。

2 环境配置(environments)

MyBatis 可以配置成适应多种环境

不过要记住:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。

environments 元素定义了如何配置环境。


  
    
      
    
    
      
      
      
      
    
  

注意一些关键点:

默认使用的环境 ID(比如:default=“development”)。

每个 environment 元素定义的环境 ID(比如:id=“development”)。

事务管理器的配置(比如:type=“JDBC”)。

数据源的配置(比如:type=“POOLED”)。

默认环境和环境 ID 顾名思义。 环境可以随意命名,但务必保证默认的环境 ID 要匹配其中一个环境 ID。

注意:在 MyBatis 中有两种类型的事务管理器(也就是 type="[JDBC|MANAGED]"),默认是JDBC。

有三种内建的数据源类型(也就是 type="[UNPOOLED|POOLED|JNDI]"),默认是POOLED。

3 properties(属性)

我们可以通过properties属性来实现引用配置文件。

这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置。例如,我们将数据库的一些配置提出来(db.properties)

编写db.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8
username=root
password=xxc113206

注意:在properties中连接符为&

在核心配置文件中引入


    
    

注意点:

可以直接引用外部文件可以在其中增加一些属性如果两个文件有同一字段,优先使用外部配置文件的(例如这里的password)

4 typeAliases(类型别名)

类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写。


    

通过起别名,我们就可以在UserMapper.xml写成如下形式


    select * from user;

也可以指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean,这种情况下会使用 Bean 的首字母小写的非限定类名来作为它的别名


    

通过起别名,我们就可以在UserMapper.xml写成如下形式


    select * from user;

附录:

下面是一些为常见的 Java 类型内建的类型别名。它们都是不区分大小写的,注意,为了应对原始类型的命名重复,采取了特殊的命名风格。

别名映射的类型_bytebyte_longlong_shortshort_intint_integerint_doubledouble_floatfloat_booleanbooleanstringStringbyteBytelongLongshortShortintIntegerintegerIntegerdoubleDoublefloatFloatbooleanBooleandateDatedecimalBigDecimalbigdecimalBigDecimalobjectObjectmapMaphashmapHashMaplistListarraylistArrayListcollectionCollectioniteratorIterator 5 settings(设置)

这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。有很多,这里选择三个较为重要的。

一个配置完整的 settings 元素的示例如下:


  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

6 映射器(mappers)

MapperRegistry:注册绑定我们的Mapper文件:

方式一:


    

方式二:

使用class文件绑定注册


    

注意点:接口和他的Mapper配置文件必须同名。接口和他的Mapper配置文件必须在同一个包下。

方式三:

使用扫描包进行注入绑定。


    

注意点:接口和他的Mapper配置文件必须同名。接口和他的Mapper配置文件必须在同一个包下。

最后附上完整核心配置文件及代码结构:





    
        
        
    
    
        
    
    
        
            
            
                
                
                
                
            
        
    
    
        
        
        
    

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5717660.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存