mybatis 配置

MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息

下面是配置相关:

configuration(配置)
properties(属性)
settings(设置)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境配置)
environment(环境变量)
transactionManager(事务管理器)
dataSource(数据源)
databaseIdProvider(数据库厂商标识)
mappers(映射器)

1.环境配置(environments)

MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中。
尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境
在这里插入图片描述

注意一些关键点:

默认使用的环境 ID(比如:default=“development”)。
每个 environment 元素定义的环境 ID(比如:id=“development”)。
事务管理器的配置(比如:type=“JDBC”)。在 MyBatis 中有两种类型的事务管理器(也就是 type="[JDBC|MANAGED]")
数据源的配置(比如:type=“POOLED”)。有三种内建的数据源类型(也就是 type="[UNPOOLED|POOLED|JNDI]")

2.属性(properties)

我们可以通过properties来实现引用配置文件
这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置。

通过properties文件设置

在这里插入图片描述

通过外部设置,然后在properties中引入

在这里插入图片描述
在这里插入图片描述

3.类型别名(typeAliases)

类型别名可为 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

4.设置(settings)

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

这里先记住下面三个
在这里插入图片描述
在这里插入图片描述

5.其他配置(用的不多)

typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)

6.映射器(mappers)

我们需要告诉 MyBatis 到哪里去找到这些语句。就需要使用映射器
方式一:
在这里插入图片描述
方式二:
在这里插入图片描述
注意:
接口和配置文件需要同名
接口和配置文件需要在同一个包下

方式三:
在这里插入图片描述

注意:
接口和配置文件需要同名
接口和配置文件需要在同一个包下

推荐使用方式一,写一个配置文件就去注册一个