mybatis官方给了我们一个配置文件的模板
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml" />
</mappers>
</configuration>
一般我们把模板复制过去,然后改一些值,但是当工程使用的环境很多时,就要为每个环境都要单独写配置。我们也可以把数据库的信息写在外面。
在配置文件中,${username}
代表变量。
创建一个xxx.properties文件,然后在配置文件中引入这个文件<properties resource="xxx.properties"/>
,在.properties文件中根据key-value
规则写数据库的信息。
我感觉这种方式还不如自己一个一个在配置文件里面写呢。
tips:config.xml文件中标签的书写顺序是有规定的,由上到下排列的规则如下
properties->settings->typeAliases->typeHandlers->objectFactory->objectWrapperFactory->reflectorFactory->plugins->environments->databaseIdProvider->mappers
有时候我们写的类的全类名很长,但是有些地方必须要写全类名(比如映射文件中返回值类型),我们就可以写一个代称来别名原来长长的全类名。
在config.xml文件中使用<typeAlias>
标签就可以给类取别名,具体如下。
<typeAliases>
<typeAlias type="mybatis.City" alias="City" />
<typeAlias type="mybatis.123" alias="1" />
<typeAlias type="mybatis.321" alias="3" />
<typeAlias type="mybatis.abc" alias="a" />
</typeAliases>
我们还可以一下子给一整个包的类取别名,只需要告诉mybatis包名,mybatis会自动给包下所有类去好别名,类的别名就是类单独的类名。
<typeAliases>
<package name="mapper"/>
</typeAliases>
在mybatis中也给一些数据类型内置了别名。