1、属性(properties)
可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递。
可以外部定义好properties文件通过 resource属性 引入mybatis核心配置xml中,也可以在properties中定义子元素。通过${参数}调用定义,可以一起使用。
<properties resource="org/mybatis/example/config.properties"> <property name="username" value="dev_user"/> <property name="password" value="F2Fa3!33TYyg"/> </properties>
2、设置(settings)
一些常见配置项
<settings>
<!--缓存机制,默认开启--> <setting name="cacheEnabled" value="true"/>
<!--懒加载--> <setting name="lazyLoadingEnabled" value="true"/>
<!--允许在嵌套语句中使用分页--> <setting name="safeRowBoundsEnabled" value="false"/>
<!--是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN 到经典 Java 属性名 aColumn 的类似映射--> <setting name="mapUnderscoreToCamelCase" value="false"/>
<!--本地缓存机制--> <setting name="localCacheScope" value="SESSION"/>
<!--日志 STDOUT_LOGGING标准输出,可以直接输出;LOG4J需要导包,还要配置下日志输出路径,会生成物理文件,详细配置百度-->
<setting name="logImpl" value="LOG4J"/>
</settings>
3、类型别名(typeAliases)
类型别名是为 Java 类型设置一个短的名字。 它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。
可以给实体类取别名,然后在具体的数据访问接口映射xml中就可以直接用别名。
<typeAliases> <!--实体类取别名,少的话使用第一种--> <typeAlias type="com.doubleh.mybatis.pojo.User" alias="user"></typeAlias> <!--可以指定一个包名,在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名。若有注解,则别名为其注解值。--> <package name="com.doubleh.mybatis.pojo"></package> </typeAliases>
4、环境配置(environments)
<environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <!--mysql driver固定写法--> <property name="driver" value="${driver}"/> <!--数据库连接串;注意&这里是&--> <property name="url" value="${url}"/> <property name="username" value="${user}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments>
5、映射器(mappers)
<mappers> <!-- 使用相对于类路径的资源引用 --> <mapper resource="org/mybatis/builder/AuthorMapper.xml"/> <!-- 使用完全限定资源定位符(URL)不要用 --> <mapper url="file:///var/mappers/AuthorMapper.xml"/> <!-- 使用映射器接口实现类的完全限定类名,接口和他的配置文件必须同名且在同一个包下 --> <mapper class="org.mybatis.builder.AuthorMapper"/> <!-- 将包内的映射器接口实现全部注册为映射器,接口和他的配置文件必须同名且在同一个包下 -->
<package name="org.mybatis.builder"/>
</mappers>