(详解)带你了解MyBatis的核心配置文件

MyBatis框架的核心配置文件

        MyBatis框架的核心配置文件(mybatis-config.xml)中设置的是MyBatis框架的全局信息。需要注意的是,该配置文件的元素节是有先后顺序的。如下所示:

  • configuration
    - properties
    - settings
    - typeAliases
    - typeHandlers
    - objectFactory
    - plugins
    - environments
          -environment
                -transactionManager
                -dataSource
    - databaseIdProvider
    - mappers

1.properties元素
        1,database.properties文件中的配置文件

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/cvs_db?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC&zeroDateTimeBehavior=convertToNull
user=root
password=root

        2,mybatis-config.xml中引入database.properties文件。

<properties resource="database.properties">properties>

        在mybatis-config.xml中使用这些参数时要采用下面的方式:

<dataSource type="POOLED">
	<property name="driver" value="${driver}"/>
	<property name="url" value="${url}"/>
	<property name="username" value="${user}"/>
	<property name="password" value="${password}"/>
dataSource>

        上述代码中"${xxx}"将会由属性文件或者property元素中设置的值来替换。也就是引用配置文件中的key。

2.settings元素
        settings元素中设置的选项可以影响MyBatis框架运行时行为。settings元素支持的部分常用选项如下表:

设置项 描述 允许值 默认值
cacheEnabled 对此配置文件下所有SQL映射的缓存进行全局性开/关设置 true、false true
lazyLoadingEnabled 全局启用或禁用延迟加载。启用后,所有关系都会被延迟加载 true、false false
autoMappingBehavior 指定MyBatis框架是否应自动映射,及如何映射查询结果集中的列到Java对象的字段、属性 NONE、PARTIAL、FULL PARTIAL
logImpl 指定MyBatis框架应使用的日志记录实现。如果不设置,将自动发现日志记录实现。 SLF4J、LOG4J、LOG4J2、JDK_LOGGING、COMMONS_LOGGING、STDOUT_LOGGING、NO_LOGGING

3.typeAliases
        typeAliases元素可以为Java类型配置一个简短的别名。使用别名可以避免在SQL映射文件中使用冗长的完全限定类名。例如:

<typeAliases>
	<package name="cn.pojo"/>
typeAliases>

4.environments元素
        environments元素可以针对开发、测试、生产部署等不同需求,为MyBatis框架分配多套运行时环境,可以再运行项目时灵活选择,从而减少环境切换时的修改工作量。

5.mappers元素
        mappers元素通知MyBatis框架查找定义了SQL语句的SQL映射文件的路径。可以使用类资源路径指定SQL映射文件的位置。
        1,方式一:

<mappers>
	<mapper resource="cn/user/UserMapper.xml">mapper>
mappers>

        1,方式二:

<mappers>
	<package name="cn.user.UserMapper.xml"/>
mappers>

你可能感兴趣的:(框架,mybatis,java,mysql)