0%

MaBatis核心配置文件

properties

  • 定义属性及读取属性文件

settings

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


typeAliases

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

定义单个别名


批量别名定义

  • 如果当前包类与子包类重名,会有异常
  • 可以在类上使用注解 @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 标签来进行设置

1
2
3
4
5
6
<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>


mappers

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

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


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

↓赏一个鸡腿... 要不,半个也行↓