有了别名可以减少代码量,下面来看看如何使用

如果有单个类使用标签下,在一个包下有多个类使用标签,表示扫描该包名下的所有类(除了接口和匿名内部类),如果类名上有注解,则使用注解指定的名称作为别名,如果没有则使用类名首字母小写作为别名,如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>