MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息
configuration(配置)
properties(属性)
settings(设置)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境配置)
environment(环境变量)
transactionManager(事务管理器)
dataSource(数据源)
databaseIdProvider(数据库厂商标识)
mappers(映射器)
MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中。
尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境
注意一些关键点:
默认使用的环境 ID(比如:default=“development”)。
每个 environment 元素定义的环境 ID(比如:id=“development”)。
事务管理器的配置(比如:type=“JDBC”)。在 MyBatis 中有两种类型的事务管理器(也就是 type="[JDBC|MANAGED]")
数据源的配置(比如:type=“POOLED”)。有三种内建的数据源类型(也就是 type="[UNPOOLED|POOLED|JNDI]")
我们可以通过properties来实现引用配置文件
这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置。
类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写,比如每次在写配置文件的时候,返回值的类型通常是全包名,使用别名可以减少代码。
如下:
方式一,一个类指定一个别名,然后在后面就可以直接使用
方式二:指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean
每一个在包 domain.blog 中的 Java Bean,在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名。如下:
方式三:在方式二的基础上使用注解,可以修改别名,在类上使用关键字@Alias()
tips:如果实体类比较多,可以选择方式二;方式一可以任意改别名,方式二则不可以,如果要改只能用方式三注解
java类型默认别名,其实就是基本类型在前面加下划线,包装类编程小写
下面是一些为常见的 Java 类型内建的类型别名。它们都是不区分大小写的,注意,为了应对原始类型的命名重复,采取了特殊的命名风格。
别名 映射的类型
_byte byte
_long long
_short short
_int int
_integer int
_double double
_float float
_boolean boolean
string String
byte Byte
long Long
short Short
int Integer
integer Integer
double Double
float Float
boolean Boolean
date Date
decimal BigDecimal
bigdecimal BigDecimal
object Object
map Map
hashmap HashMap
list List
arraylist ArrayList
collection Collection
iterator Iterator
这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为
这里先记住下面三个
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
我们需要告诉 MyBatis 到哪里去找到这些语句。就需要使用映射器
方式一:
方式二:
注意:
接口和配置文件需要同名
接口和配置文件需要在同一个包下
方式三:
注意:
接口和配置文件需要同名
接口和配置文件需要在同一个包下
推荐使用方式一,写一个配置文件就去注册一个