MyBatis-核心配置文件

properties

用来定义属性及读取属性文件。

settings

这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
</configuration>

typeAliases

类型别名是为 Java 类型设置一个短的名字。

定义单个别名

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <typeAliases>
        <typeAlias alias="Customer" type="top.it6666.domain.Customer"/>
    </typeAliases>
</configuration>

批量别名定义

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <typeAliases>
        <!--
        批量别名定义,扫描整个包下的类,别名为类名(大小写不敏感)
        -->
        <package name="top.it6666.domain"/>
    </typeAliases>
</configuration>

如果当前包类与子包类重名, 会有异常, 可以在类上使用注解 @Alias("别名") 来解决重名异常问题。

typeHandlers

无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时, 都会用类型处理器将获取的值以合适的方式转换成 Java 类型,JDK1.8 之后实现全部的 JSR310 规范,日期时间处理上,我们可以使用 MyBatis 基于 JSR310(Date and Time API)编写的各种日期时间类型处理器,MyBatis3.4 以前的版本需要我们手动注册这些处理器,以后的版本都是自动注册的。

Plugins

插件是 MyBatis 提供的一个非常强大的机制,MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用,通过插件来修改 MyBatis 的一些核心行为。

Environments

MyBatis 可以配置多种环境,比如开发、测试和生产环境需要有不同的配置,每种环境使用一个 environment 标签进行配置并指定唯一标识符,可以通过 environments 标签中的 default 属性指定一个环境的标识符来快速的切换环境。

Environment 子标签

transactionManager 事务管理,Type 有以下取值。

  • JDBC:使用 JDBC 的提交和回滚设置,依赖于从数据源得到的连接来管理事务范围。
  • MANAGED:不提交或回滚一个连接、让容器来管理事务的整个生命周期,ManagedTransactionFactory。
  • 自定义:实现 TransactionFactory 接口,type = 全类名 / 别名。

dataSource 数据源,type 有以下取值

  • UNPOOLED:不使用连接池 UnpooledDataSourceFactory
  • POOLED:使用连接池 PooledDataSourceFactory
  • JNDI:在 EJB 或应用服务器这类容器中查找指定的数据源。
  • 自定义:实现 DataSourceFactory 接口,定义数据源的获取方式。

实际开发

实际开发中我们使用 Spring 管理数据源,并进行事务控制的配置来覆盖上述配置并进行事务控制的配置来覆盖上述配置。

databaseIDProvider

MyBatis 可以根据不同的数据库厂商执行不同的语句,可以通过 databaseIDProvider 标签来进行设置。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <databaseIdProvider type="DB_VENDOR">
        <property name="MYSQL" value="mysql"/>
        <property name="DB2" value="db2"/>
        <property name="Oracle" value="oracle"/>
        <property name="SQL Server" value="sqlserver"/>
    </databaseIdProvider>
</configuration>

例如查询所有。

mappers

<mapper resource=""/>:使用相对于类路径的资源。

<mapper class=""/>:使用 mapper 接口类路径,此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中。

<package name=""/>:指定包下的所有 mapper 接口,此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中。

posted @   BNTang  阅读(55)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示