1. 定义

MyBatis的配置文件是一个XML文件,其默认名称为mybatis-config.xml,用于配置和定制化MyBatis的运行时行为。比如可以用于配置数据库连接、属性、类型别名、类型处理器、插件、环境配置、映射器(mapper.xml)等信息。

2. 配置概述

2.1. 主要包括以下部分

configuration元素:整个配置文件的根元素,包含多个子元素;

properties元素:用于配置属性,可以通过${}占位符引用属性值;

settings元素:用于配置MyBatis的全局设置,如缓存策略、延迟加载等;

typeAliases元素:用于配置类型别名,可以将Java类的全限定名映射成简短的别名,方便在XML文件中使用;

typeHandlers元素:用于配置类型处理器,可以将Java对象和数据库中的数据进行转换;

environments元素:用于配置环境,包括数据源和事务管理器;

mappers元素:用于配置Mapper接口,包括XML映射文件和注解方式的映射;

plugins元素:用于配置插件,可以在执行SQL语句前后进行一些自定义操作。

2.2. MyBatis配置文件示例

其中,properties元素引用了db.properties文件中的属性值。typeAliases元素将com.example.User映射成了User别名。environments元素配置了开发环境的数据源和事务管理器。mappers元素引用了UserMapper.xml映射文件。

 

3. 配置详解

3.1. properties元素的详细配置

properties元素用于配置属性,可以通过${}占位符引用属性值。properties元素支持多种配置方式,包括properties子元素、properties文件等。其中,db.properties文件包含jdbc.driver、jdbc.url、jdbc.username、jdbc.password属性值。

   

   

   

   

3.1.1.属性配置

MyBatis的属性配置是一个properties文件,用于存储一些全局的配置参数。这些参数可以在MyBatis的配置文件中通过${key}的方式进行引用。在MyBatis中,属性配置文件的命名通常为mybatis.properties,位于类路径的根目录下,也可以通过在mybatis-config.xml中配置来指定属性配置文件的路径。属性配置文件的基本结构如下:

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/mybatis

jdbc.username=root

jdbc.password=123456

 

其中,jdbc.driver、jdbc.url、jdbc.username、jdbc.password是全局的配置参数,可以在MyBatis的配置文件中进行引用。

 

3.2. typeAliases元素的详细配置

typeAliases元素用于配置类型别名,可以将Java类的全限定名映射成简短的别名,方便在XML文件中使用。typeAliases元素支持多种配置方式,包括typeAlias元素、package元素等。

   

   

3.3. environments元素的详细配置

environments元素用于配置环境,包括数据源和事务管理器。environments元素可以配置多个环境,其中一个环境可以被指定为默认环境。每个环境包含一个transactionManager元素和一个dataSource元素。例如:

   

       

       

           

           

           

           

       

   

   

       

       

           

           

           

           

       

   

3.4. transactionManager元素

用于配置事务管理器,其中,type属性用于指定事务管理器的类型,包括JDBC和MANAGED两种类型。JDBC类型的事务管理器需要由应用程序自己处理事务的提交和回滚,而MANAGED类型的事务管理器则是由应用服务器来管理事务的提交和回滚。 在transactionManager元素中,可以使用property元素来设置其他相关属性。例如,可以设置事务的隔离级别、超时时间等。具体的属性设置可以参考MyBatis的官方文档。

type="[JDBC | MANAGED]">  

 

3.5. objectFactory元素的配置

objectFactory元素用于配置对象工厂,可以自定义对象的创建方式。其中,MyObjectFactory是自定义的对象工厂类,property1和property2是对象工厂类的属性。

   

   

3.6. databaseIdProvider元素的配置

databaseIdProvider元素用于配置数据库厂商标识符,可以根据不同的数据库类型执行不同的SQL语句。其中,DB_VENDOR表示根据数据库厂商标识符进行匹配,Oracle和MySQL分别为两个数据库的标识符。

   

   

 

3.7. bind元素的详细配置

bind元素用于绑定参数,可以在SQL使用#{name,javaType=int,jdbcType=INTEGER}

方式引用绑定参数的值。其中,#{age,javaType=int,jdbcType=INTEGER}表示引用绑定参数age的值,javaType表示参数的Java类型,jdbcType表示参数的JDBC类型

3.8. typeHandler元素的详细配置

typeHandler元素用于配置类型处理器,可以将Java对象和数据库中的数据进行转换。typeHandler元素支持多种配置方式,包括class属性、javaType和jdbcType属性、handler属性等。例如:

javaType="java.lang.String" jdbcType="VARCHAR" />

3.9. settings元素的详细配置

settings元素用于配置MyBatis的全局设置,如缓存策略、延迟加载等。settings元素包含多个子元素,如cacheEnabled、lazyLoadingEnabled、logImpl等。例如:

   

   

   

3.10. plugins元素的详细配置

plugins元素用于配置插件,可以在执行SQL语句前后进行一些自定义操作。plugins元素包含多个子元素,每个子元素包含一个interceptor元素和一个property元素。其中,MyPlugin是自定义的插件类,property1和property2是插件类的属性:

   

       

       

   

3.11. mappers元素的详细配置

mappers元素用于配置Mapper接口,包括XML映射文件和注解方式的映射。mappers元素支持多种配置方式,包括resource属性(引用XML映射文件)、class属性(引用Mapper接口)、package属性(扫描指定包下的所有Mapper接口)等。例如:

   

   

   

3.11.1. 映射文件

MyBatis的映射文件是一个XML文件,用于配置SQL语句和结果映射规则。它将Java的POJO对象和数据库中的表进行映射,提供了CRUD操作的SQL语句和参数映射。在MyBatis中,映射文件的命名通常为Mapper.xml,位于类路径的某个目录下。映射文件的基本结构如下:

 

  

  

    

    

    

  

  

  

  

  

    INSERT INTO user(name, age) VALUES(#{name}, #{age})

  

  

  

    UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}

  

  

  

    DELETE FROM user WHERE id = #{id}

  

 

其中,resultMap元素用于配置结果映射规则;select元素用于配置查询语句;insert元素用于配置插入语句;update元素用于配置更新语句;delete元素用于配置删除语句。

 

精彩文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。