Mybatis中对象别名的几种方式

1 使用包名,则Alias默认为对象简单类名,其中第一个字母替换为小写

package org.apache.ibatis.demo.entity;

/**
 * @author zerods
 */
public class TDemoDO {
    Integer id;
    String name;

    // ...
}

<!-- Configuration.xml -->
<typeAliases>
      <package name="org.apache.ibatis.demo.entity"/>
</typeAliases>
  注释:这里的TDemoDO别名默认为tDemoDO
<!-- mapper.xml -->
<resultMap id="baseMap" type="tDemoDO">
    <result property="id" column="id" jdbcType="INTEGER" />
    <result property="name" column="name" jdbcType="VARCHAR" />
</resultMap>

2 使用全限定类名,xml中配置Alias

public class TDemoDO {
    Integer id;
    String name;
    // ...
}
<!-- Configuration.xml -->
<typeAliases>
    <typeAlias type="org.apache.ibatis.demo.entity.TDemoDO" alias="tDemo" />
</typeAliases>
<!-- mapper.xml -->
<resultMap id="baseMap" type="tDemo">
    <result property="id" column="id" jdbcType="INTEGER" />
    <result property="name" column="name" jdbcType="VARCHAR" />
</resultMap>

3 使用全限定类名 + @Alias

@Alias("tDemo")
public class TDemoDO {
    Integer id;
    String name;
    // ...
}
<!-- Configuration.xml -->
<typeAliases>
    <typeAlias type="org.apache.ibatis.demo.entity.TDemoDO"  />
</typeAliases>
<!-- mapper.xml -->
<resultMap id="baseMap" type="tDemo">
    <result property="id" column="id" jdbcType="INTEGER" />
    <result property="name" column="name" jdbcType="VARCHAR" />
</resultMap>

4 使用package + @Alias

@Alias("tDemo")
public class TDemoDO {
    Integer id;
    String name;
    // ...
}
<!-- Configuration.xml -->
<typeAliases>
      <package name="org.apache.ibatis.demo.entity"/>
</typeAliases>
<!-- mapper.xml -->
<resultMap id="baseMap" type="tDemo">
    <result property="id" column="id" jdbcType="INTEGER" />
    <result property="name" column="name" jdbcType="VARCHAR" />
</resultMap>

总结: 个人觉得使用package + Alias注解的方式最为优雅,也方便管理

posted @ 2020-05-22 19:05  zerodseu  阅读(1357)  评论(0编辑  收藏  举报