本文来说下关于@Alias注解的几个问题
使用前提
在配置文件中配置 type-aliases-package 告诉spring boot (项目)你改别名的包是哪里
type-aliases-package: cn.wideth.entity
如果只配置了 type-aliases-package,mapper.xml 文件中可以直接使用 Student 类名,Student 代替全类名 cn.wideth.entity.domain.Student
实体类使用方法
package cn.wideth.entity.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.ibatis.type.Alias;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Alias("T")
public class Student {
private Integer id;
private String name;
private String phone;
private String age;
}
mapper.xml 使用方法
mapper.xml 文件中可以直接使用 T,代替 cn.wideth.entity.domain.Student
<select id="selectByStudentSelective" resultType="T">
SELECT T.* FROM student T
</select>
类路径
注意:使用@Alias 起别名之后,mapper.xml 文件 不能再使用 Student,但可以使用全类名 cn.wideth.entity.domain.Student。
本文小结
全类名任何时候都能使用,其实开发中常用全类名,这样读 mapper.xml 文件时很清晰,如果起了别名,模块多的话,实体类不好找。