欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mybaits实体类别名的使用

程序员文章站 2022-06-01 18:58:34
...

mybatis-config.xml 里面配置别名:

<typeAliases>

    <!--
        单独起别名
        不指定 alias 默认的别名就是类名首字母小写 typeAlias 
    -->
    <typeAlias alias="user" type="com.xuanyuan.model.User" />
    
    <!-- 
         批量起别名
         package 为包下的实体类批量起别名 
         name 指定实体类的最上层包
             即既可以识别到 com.xuanyuan.model 下的 User 实体类,
             也能识别到 com.xuanyuan.model.package 下的别的实体类
             此方式起的别名就是默认的类名
    -->
    <package name="com.xuanyuan.model" />

</typeAliases>

在 mapper.xml 中使用的时候为:

<!-- 
    如果resultType使用的别名:别名不区分大小写,所以USER,user,User,UsEr都是没问题的
    如果resultType不使用别名,就需要指定实体类的全路径com.xuanyuan.model.User
-->
<select id="getUserByID" parameterType="int" resultType="UsEr">
    select * from user where id = #{id}
</select>

PS:

1、批量取别名的情况下我们可以使用 @Alias 来对每个实体类单独取别名

import org.apache.ibatis.type.Alias;

@Alias("user")
public class User {
	private int id;
	private String name;
    //自己补充getter && setter 方法
}

2、使用别名 和 不使用别名 的优劣对比:

使用别名:mapper 配置文件里面显得简洁,但是要是想查看该类的具体映射情况什么的找起来比较麻烦

不使用别名:mapper配置文件中显得较为臃肿,但是在想查看对应类信息的时候比较方便,可以通过ide直接进去对应的实体类