别名的定义要定义在sqlMapConfig.xml中
自定义别名:
由于在写parameterType的时候后面类型名字很长,有时需要定义别名。使用typeAliases标签把
范例:xxx.x.Person定义成person(以后直接写person就行了)
<?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> <typeAliases> <!-- type:要被定义成别名的数据类型 --> <typeAlias type="xxx.x.Person" alias = "person"/> </typeAliases> <!-- 数据库环境配置如果和spring整合就不需要配了,完全交给spring,下面部分干掉 --> <environments default="development"> <!-- 这里的default名称是什么,就调用下面哪个环境,也就是可以调用某一个数据库(MYSQL或Oracle) --> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments> <!-- 管理每一张表的映射文件 resource:引入映射文件,注意包之间用斜线 --> <mappers> <mapper resource="xxx/x/mapper/PersonTestMapper.xml" /> </mappers> </configuration>
非自定义别名:
非自定义别名就是JDK中所有类都是用了非自定义别名,别名内容是类型的所有字母不区分大小写。
比如:
parameterType="java.util.Map"
可以直接写成
parameterType="map"
如果是包装类,还可以使用其基本数据类型的名字。
比如:
parameterType="java.lang.Integer"
可以写成
parameterType="int"
替换一些sql片段:提取一些公用的sql片段
<sql id = "column">是一些公共的信息。
<sql id = "column"> person_id,name,gender,person_addr,birthday </sql> <select id="selectPersonAll" resultMap="BaseResultMap" > select <include refid="column"> from person </select>