properties
定义属性及读取属性文件
示例
在properties标签中的properties标签会被先读取,而后在读取db.properties文件,相同name的会被覆盖
settings
这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为
示例
该设置为开启驼峰命名法 , 为了适协调java经典的驼峰命名法与sql的下划线命名法,开启之后domain所有字段也必须使用驼峰命名法
typeAliases
类型别名是为 Java 类型设置一个短的名字
定义单个别名
批量别名定义
如果当前包类与子包类重名,会有异常
可以在类上使用注解@Alias(“别名”)
typeHandlers
- 无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,
- 还是从结果集中取出一个值时, 都会用类型处理器将获取的值以合适的方式转换成 Java 类型。
- JDK1.8之后实现全部的JSR310规范
- 日期时间处理上,我们可以使用MyBatis基于JSR310(Date and Time API)
编写的各种日期时间类型处理器。 - MyBatis3.4以前的版本需要我们手动注册这些处理器,以后的版本都是自动注册的
Plugins
- 插件是MyBatis提供的一个非常强大的机制,
- MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。
- 通过插件来修改MyBatis的一些核心行为。
Environments简单了解,开发的时候用spring进行管理
- MyBatis可以配置多种环境,比如开发、测试和生产环境需要有不同的配置。
- 每种环境使用一个environment标签进行配置并指定唯一标识符
- 可以通过environments标签中的default属性指定一个环境的标识符来快速的切换环境
- Environment子标签
1. transactionManager事务管理
Type有以下取值
JDBC:使用JDBC 的提交和回滚设置,依赖于从数据源得到的连接来管理事务范围
MANAGED:不提交或回滚一个连接、让容器来管理事务的整个生命周期
ManagedTransactionFactory
自定义:实现TransactionFactory接口
type=全类名/别名
- dataSource数据源
type有以下取值
UNPOOLED:不使用连接池UnpooledDataSourceFactory
POOLED:使用连接池PooledDataSourceFactory
JNDI:在EJB 或应用服务器这类容器中查找指定的数据源
自定义:实现DataSourceFactory接口,定义数据源的获取方式 - 实际开发
实际开发中我们使用Spring管理数据源
并进行事务控制的配置来覆盖上述配置
databaseIDProvider
MyBatis 可以根据不同的数据库厂商执行不同的语句。
可以能过databaseIDProvider标签来进行设置
<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映射文件名称相同,且放在同一个目录中