Mybatis主要配置文件中所有标签的作用如下:
<properties>: 用于配置属性信息,这些属性的值可以通过${..}方式引用
例如:
<properties resource = "org/mybatis/example/config.properties">
<property name = "username" value = "dev_user">
<property name = "password" value = "F2Fa3!33TYyg">
</properties>
<settings>: 通过一些属性来控制Mybatis运行时的一些行为. 例如,指定日志的实现,默认的Executor类型等:
例如:
<settings>
<setting name = "logImpl" value = "SLF4J">
<setting name = "defaultExecutorType" value ="SIMPLE">
......
</settings>
<typeAliases>:用于配置类型别名,目的是为Java类型设置一个更短的名字.它存在的意义仅在于用来减少类完全限定名的冗余.
<plugins>: 用于注册用户自定义的插件信息.
例如:
<plugins>
<plugin interceptor = "org.mybatis.example.ExamplePlugin">
<property name = "someProperty" value = "100"/>
</plugin>
</plugins>
<objectFactory>: Mybatis 通过对象工厂创建参数对象和结果集映射对象,默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认的构造方法,要么在参数映射存在的时候通过参数构造方法来实例化.
<objectFactory>:标签用于配置用户自定义的对象工厂
<objectWrapperFactory> : mybatis通过ObjectWrapperFactory 创建ObjectWrapper 对象,通过ObjectWrapperFactory 对象能够很方便地获取对象属性,方法名等反射信息.
<objectWrapperFactory> : 用于配置用户自定义的objectWrapperFactory .
<refectorFactory>: Mybatis 通过反射工厂ReflectorFactory 创建描述Java 类型反射信息的Reflector 对象, 通过Reflector对象能够很方便地获取Class对象的Setter/Getter方法 属性等信息.
<refectorFactory>: 标签用于配置自定义的反射工厂.
<environments>: 用于配置mybatis 数据连接相关的环境及事务管理器信息.通过该标签可以配置多个环境信息,然后指定具体使用哪个.
mybatis 提供了两种事务管理器,分别为jdbcTransaction 和ManagedTransaction .其中 jdbcTransaction 是使用的JDBC中的Connection 对象实现事务管理的, 而ManagedTransaction 表示事务由外部容器管理. 这两种事务管理器分别由对应的工厂类JdbcTransactionFactory 和 ManagedTransaction创建.
<databaseldProvider>: Mybatis 能够根据不同的数据库厂商执行不同的SQL语句,该标签用于配置数据库厂商信息.
例如:
<databaseldProvider>
<property name = "MySQL" value = "mysql"/>
<property name = "Oracle" value = "oracle"/>
</databaseldProvider>
在Mapper配置中, 可以通过databaseId属性指定不同类型厂商对应的SQL语句,例如
<mapper namespace= "....">
<select id= "selectTime" resultType = "String" databaseId = "mysql">
select now() from dual
</selct>
<select id= "selectTime" resultType = "String" databaseId = "oracle">
select 'oracle'||to_char(sysdate,'yyyy-mm-dd hh24:mi:ss' ) from dual
</selct>
</mapper>
<typeHandlers> : 用于注册用户自定义的类型处理器
<mappers> : 用于配置Mybatis Mapper 信息.
<mappers>标签的配置案例如下:
<mappers>
<mapper resource = "org/mybatis/builder/AuthorMapper.xml"/>
<mapper url = "file://var/mappers/AuthorMapper.xml"/>
<mapper class = "org.mybatis.builder.PostMapper"/>
<package name= "org.mybatis.builder"/>
</mappers>
mybatis 框架启动后,首先创建Configuration对象,然后解析所有配置信息,将解析后的配置信息存放在Configuration 对象中.
网友评论