类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写。比如:我们不给java类型设置别名

	<select id="getById" parameterType="int" resultType="com.osy.entity.User">
        select id, name, age from user_info where id = ${id}
    </select>

com.osy.entity.User这个全限定类名是很冗余的,但是如果我们配置了别名隐射,我们只需要写成user即可。

	<select id="getById" parameterType="int" resultType="user">
        select id, name, age from user_info where id = ${id}
    </select>

配置别名的方式一:单个配置(不建议使用))

<typeAliases>
  <typeAlias alias="Author" type="domain.blog.Author"/>
  <typeAlias alias="User" type="com.osy.entity.User"/>
</typeAliases>

这样在使用com.osy.entity.User的时候就可以改写成User。

配置别名的方式二:包配置(建议使用)

<typeAliases>
  <package name="com.osy.entity"/>
  <!--多个包就配置多个-->
</typeAliases>

配置别名的方式三:注解配置(不建议使用)

@Alias("user")
public class User {}

这种也是数据单个配置,重复工作量比较大,也不建议使用

对于一些基本类型,他们的包装类,以及他们的扩展类型,Mybatis都做了其别名映射,
以及object、map、hashmap、list、arraylist、collection、iterator,都做了别名映射,所以我们遇到这些类型,我们就不用做别名映射了。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐