MyBatis 的配置文件对整个MyBatis体系产生深远的影响.来看下MyBatis配置文件xml的层次结构
如上面截图所示.这就是XML的全部配置文件.
一:properties
提供三种配置方式: property 子元素 ,properties 配置文件,程序参数传递
由于三种方式提供的参数可能会有重复值。会导致部分参数设置失效. 所以我们在使用的时候,需要注意:
1.不要使用混合的方式,这样会使得管理混乱
2.首选的方式是使用properties文件,比较清晰独立
二:设置(setting)
设置在MyBatis 中式最复杂的配置,同时也是最为重要的配置内容之一,它会改变MyBatis运行时的行为.即使不配置setting,MyBatis 也可以正常的工作,不过了解setting的配置内容,以及他们的作用仍然十分必要.
三:别名
别名(typeAliases)时一个指代的名称.由于我们遇到的类全限定类名过长,所以希望用简短的名称指代.而这个名称可以在MyBatis上下文使用.别名不区分大小写.
四:类型处理器 typeHandler
MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,或者从结果集(ResultSet)中取一个值时,都会用注册了的typeHandler进行处理.
typeHandler常用的配置为Java 类型(javaType),JDBC类型(jdbcType)。typeHandler 的作用就是将参数从javaType转换为jdbcType 。或者从数据库取出结果时把jdbcType转化为javaType。
MyBatis自定义的处理器能满足大部分的需求,如果要自定义类型处理器.需要实现TypeHandler接口。并且需要在类上面加上@MappedTypes注解和@MappedJdbcTypes注解。分别表示java和jdbc的什么类型会被拦截并处理.
五:ObjectFactory
当MyBatis 在构建一个结果返回的时候,都会使用ObjectFactory去构建POJO,在MyBatis中可以定制自己的对象工厂.一般用系统定义的即可.比如 DefaultObjectFactory. 也可以实现自定义的ObjectFactory.实现该接口。然后重写具体的业务逻辑即可
六:插件 比较复杂,用时需要弄清内部的原理才行.
七:environments 配置环境
可以配置多个数据源. 每个数据源又分为 数据库源和数据库事务 。例如下面配置:
八:databaseIdProvider 数据库产商标识
改动较小
九:引入映射器的方法
1.用文件路径引入
2.用包名引入
3.用类注册引入
4.用userMapper.xml引入