有了别名可以减少代码量,下面来看看如何使用
如果有单个类使用标签下,在一个包下有多个类使用标签,表示扫描该包名下的所有类(除了接口和匿名内部类),如果类名上有注解,则使用注解指定的名称作为别名,如果没有则使用类名首字母小写作为别名,如com.majing.learning.mybatis.entity.User这个类如果没有设置@Alias注解,则此时会被关联到user这个别名上。
@Alias(value="User")
public class User {
private int id;
private String name;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
上面用了@Alias(value=“User”),所以返回的结果集为User
单个类使用
<typeAliases>
<typeAlias alias="User" type="com.majing.learning.mybatis.entity.User"/>
</typeAliases>
这里的返回值就不用包+类名了,直接使用User,如果没有加注释的话就是user小写的user
<select id="findUserById" resultType="User">
select * from user where id = #{id}
</select>
在包下面
<typeAliases>
<package name="com.sybinal.shop.model" />
</typeAliases>