1、使用 properties 标签来引入外部 properties 配置文件的内容:
resource:引入类路径下的资源
url:引入网络路径下或者磁盘路径下的资源
注:将之前编写的代码进行如下的修改后,输出依然没有任何问题。
2、settings 设置:
这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的 运行时行为。(这里用一个例子来介绍,之后的博文中会一点一点说明。)
注: mapUnderscoreToCamelCase 参数设置是将字段中的下划线命名规范转变成对象中的属性的驼峰命名规范。这里可以看到之前的例子中已经自动做了转换。
3、typeAliases:别名处理器,可以为我们的 java 类型起别名,别名不区分大小写:
a、typeAlias:为某个 java 类型其别名
* type:指定要起别名的类型全类名;默认别名就是类名小写。
* alias:指定新的别名
b、package:为某个包下的所有类批量其别名
* name:指定包名(为当前包以及下面所有的后代包的每一个类都起一个默认别名(类名小写))
注:可以发现,输出结果都没有问题。
c、批量起别名的情况下,使用 @Alias 注解为某个类型指定新的别名
4、environments 配置:可以配置多种环境,通过 default 指定使用某种环境,可以达到快速切换地效果:(根据 environment 的 id 进行切换)
environment:配置一个具体的环境信息,必须要有两个子标签.(id 代表当前环境的唯一标识。)
* transactionManager:事务管理器:
type:事务管理器的类型:JDBC(JdbcTransationFactory)、MANAGED(ManagedTransactionFactory)(也可以为自定义的事务管理器,实现TransationFactory 接口,type 指定为全类名)
* dataSource:数据源:
type:数据源类型:UNPOOLED(UnpooledDataSourceFactory) 、POOLED(PooledDataSourceFactory) 或者 JNDI(JndiDataSourceFactory)(自定义数据源:实现 DataSourceFactory 接口,type 是全类名)
5、databaseIdProvider:支持多数据库厂商的配置:
a、新增加一个环境信息,即可以通过 default 配置不同的链接环境
b、type="DB_VERDOR":即 VendorDatabaseIdProvider。作用是得到数据库厂商的标识,mybatis就能根据数据库厂商标识来执行不同的sql。(MySQL,Oracle,SQL Server)
注:databaseIdProvider标签的子标签 property 中,name 为数据库厂商标识,value 为 sql 映射文件需要中 select 标签中需要指定的 databaseId 的值设置。(设置哪个值就可以使用哪个数据库厂商提供的数据库。)
6、mappers:将 sql 映射注册到全局配置中:
mapper:注册一个 sql 映射
a、resource:引用类路径下的 sql 映射文件
b、url:引用网络路径或者磁盘路径下的 sql 映射文件
file:///var/mappers/AuthorMapper.xml
c、class:引用(注册)接口
* 有 sql 映射文件,映射文件名必须与接口同名,并且与接口放在同一个目录下。
* 没有 sql 映射文件,所有的 sql 都是利用注解写在接口上。
d、package:批量注册
注:批量注册的情况时,如果有 sql 映射文件,也需要将映射文件名与接口同名,并且与接口放在同一个目录下。