mybatis配置文件相关标签
1.properties:引入外部properties文件内容
url:引入网络路径,或磁盘路径下的资源
resource:引入类路径下的资源
2.settings:mybatis中的重要设置项
setting用来设置每一个设置项
name:设置项名
value:设置项值
3.typeAliases别名处理器
typeAliases可以为我们的java类型起别名(别名不区分大小写,也就是即使你制定了别名无论大小写,只要字母对的上就可以)。
1)typeAlias为指定java类型起别名,
type:被指定的java类型全类名,默认别名是类名的小写(employee,此时mapper文件中用到的全类名都能写成此别名)
alias:指定全新别名
2)package:批量起别名,为某包下以及该子包下的所有类起别名,默认别名是类名的小写
name:指定包的全路径
注意:当批量起别名的时候,若子包中有类名与父包中类名相同时,会发生冲突报错,
这时可以在冲突的bean文件中添加@Alias注解来制定冲突类别名;
4.在mybatis内部存在许多已经起好的别名,是java中存在的数据类型
Alias | Mapped Type |
---|---|
_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 |
5.typeHandlers:将数据库的字段类型和java中的数据类型(可以是自定义的类型)进行映射,用的不多
6.plugins:mybatis的插件。
- Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)
- ParameterHandler (getParameterObject, setParameters)
- ResultSetHandler (handleResultSets, handleOutputParameters)
- StatementHandler (prepare, parameterize, batch, update, query)
7.environments:环境标签
有多环境的时候,使用default属性进行环境的切换,值为environment 的id值
environment 配置具体的环境,必须要有的两个标签transactionManager和dataSource
transactionManager:事务管理器
type:JDBC|MANAGED
– JDBC:使用了 JDBC 的提交和回滚设置,依赖于从数据源得到的连接来管理事务范围。
JdbcTransactionFactory
–MANAGED:不提交或回滚一个连接、让容器来管理事务的生命周期(如 JEE 应用服务器的上下 文)
ManagedTransactionFactory
– 自定义:实现TransactionFactory接口,type=全类名/ 别名
8.databaseIdProvider标签:支出多数据厂商。
<databaseIdProvider type="DB_VENDOR"></databaseIdProvider>
type="DB_VENDOR"就是获得数据库厂商标识,mybatis就可以根据数据库厂商标识执行对应的sql给不同的数据库厂商起别名:
Mapper映射文件中的引用:
9.mappers:注册sql映射文件
mapper:注册一个sql映射文件
注册配置文件
resource:引用类路径下的配置文件。
url:引用网络路径下或者磁盘路径下的文件。
注册接口
class:注册接口
1、有sql映射文件,映射文件名必须和接口同名,并且放在与接口同一目录下(显然是不符合实际的)
2、没有sql映射文件,所有的sql都基于注解写下注解上。
package:批量注册
name:接口所在的包的完全限定名,也要求映射文件名必须和接口同名,并且放在与接口同一目录下
注意:
在mybatis-config.xml中标签是有顺序的必须按照下面标签的顺序进行配置
文档的顶层结构如下:
configuration 配置
properties 属性
settings 设置
typeAliases 类型命名
typeHandlers 类型处理器
objectFactory 对象工厂
plugins 插件
environments 环境
environment 环境变量
transactionManager 事务管理器
dataSource 数据源
databaseIdProvider 数据库厂商标识
器
objectFactory 对象工厂
plugins 插件
environments 环境
environment 环境变量
transactionManager 事务管理器
dataSource 数据源
databaseIdProvider 数据库厂商标识
mappers 映射器
自己的一些总结,欢迎大家在评论区留言交流!