(五)XML配置: typeAlias、databaseIdProvider、settings
一、 typeAlias
默认是将最底层的类名作为简短名,若仍不满意,可以在自定义bean上@Alias("stu")方式,其自定义别名
<typeAliases>
<package name="com.bean"></package>
</typeAliases>
@Alias("tea")
public class teacher {}
二、 databaseIdProvider
mybatis可以根据不同的数据库厂商执行不同的语句。
在增、删、改、查中都有属性databaseId属性来选择用哪个数据库
<databaseIdProvider type="DB_VENDOR">
<property name="Oracle" value="oracle"/>
<property name="MySQL" value="mysql"/>
<property name="DB2" value="d2"/>
</databaseIdProvider>
<select id="selectTeacherByID" parameterType="int" resultType="tea" databaseId="mysql">
select * from `tb_Teacher` where id = #{id}
</select>
三、settings
指定使用LOG4J输出日志(因为mybatis是与数据库交互操作,所以一般设置此项,方便查看SQL语句执行情况)
<setting name="logImpl" value="STDOUT_LOGGING"/>
四、environments
主要配置了数据库连接
<configuration>
<!-- properties都是可外部配置且可动态替换的 -->
<properties resource="config.properties"></properties>
<settings>
<!-- Enables automatic mapping from classic database column names A_COLUMN to camel case classic Java property names aColumn. -->
<setting name="mapUnderscoreToCamelCase" value="true" />
</settings>
<!-- 在select语句,resulttype中要写全类名,利用此标签可以为类起别名 -->
<typeAliases>
<!-- 这种方式,要将所有的类,起类名,比较麻烦
<typeAlias alias="student" type="com.bean.student" /> -->
<!-- 用package 可以对包下所有类起别名,即最底层类名 -->
<package name="com.bean"></package>
</typeAliases>
<environments default="development">
<!-- 可以配置多个环境,比如开发人员 id=development 测试人员id=test 来区分数据库 -->
<environment id="development">
<transactionManager type="JDBC"></transactionManager> <!-- 事务管理类型:JDBC、MANAGED -->
<dataSource type="POOLED"> <!-- 数据源类型:POOLED、UNPOOLED、JNDI -->
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<!-- 加载映射文件 mapper -->
<mappers>
<!-- 路径用 斜线(/) 分割,而不是用 点(.) -->
<mapper resource="com/MapperXML/studentMapper.xml"></mapper>
<mapper resource="com/MapperXML/teacherMapper.xml"></mapper>
</mappers>
</configuration>