【笔记】MyBatis中定义返回值类型的别名

前言

MyBatis中定义返回值类型的别名

手动映射别名

  • <typeAliases></typeAliases>中配置<typeAliase/>,用于指定别名,别名不区分大小写
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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">

<!-- MyBatis的全局配置文件 -->
<configuration >

<typeAliases>
<typeAliase alias="user" type="com.pojo.User"/>
</typeAliases>

...

</configuration>

利用包扫描自动配置别名

  • <typeAliases></typeAliases>中配置了<package/>后,MyBatis会自动扫描<package/>的name属性值下所有的Java类,当需要指定这些类作为返回值类型时,只需要直接使用别名即可
src/main/resources/mybatis-config.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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">

<!-- MyBatis的全局配置文件 -->
<configuration >

<typeAliases>
<package name="com.pojo"/>
</typeAliases>

...

</configuration>

在sql映射xml文件的返回值类型改为别名

  • resultType:直接传递Java实体类的类名即可,并且不区分大小写
src/main/resources/UserMapper.xml
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.Mapper.UserMapper">
<select id="selectAll" resultType="user">
select * from user
</select>

</mapper>

内置返回值别名

  • Java中基本数据类型都可以不指定全局限定名作为返回值类型 ,而是直接使用别名,并且不区分大小写

完成

参考文献

哔哩哔哩——黑马程序员