Mybatis | 自定义实体类别名

方式一,逐个定制:

<configuration>
	<typeAliases>
		<!-- 针对单个别名定义 type:实体类权限定类名 alias:别名 -->
		<typeAlias type="org.mybatis.po.User" alias="_User"/>
	</typeAliases>
</configuration>

方式二,批量定制:

<configuration>
	<typeAliases>
		<!-- 批量别名定义 指定实体类所在包名,mybatis自动扫描包中的pojo类,自动定义别名,别名就是类名(首字母大写或小写都可以)一般默认首字母小写 -->
		<package name="org.mybatis.po" />
	</typeAliases>
</configuration>

方式三,批量定制,不使用默认分配的别名,自己定义:

先配置批量定制的包扫描:

<configuration>
	<typeAliases>
		<!-- 批量别名定义 指定实体类所在包名,mybatis自动扫描包中的pojo类,自动定义别名,别名就是类名(首字母大写或小写都可以)一般默认首字母小写 -->
		<package name="org.mybatis.po" />
	</typeAliases>
</configuration>

然后再对应实体类上加上注解@Alias:

@Alias("user")
public class User{
      private int id;
      public void getId(){
            return id;
      }
      public int setId(int id){
             this.id=id;
      }
}

说明:

  • 若有POJO没有使用@Alias进行注解,那么MyBatis也会装载,只是它会将POJO的类名的第一个子母变为小写,作为MyBatis的别名。
  • MyBatis就会自动扫描包,将扫描到的类装载到上下文中,以便取用。这样就算有很多个POJO,也可以通过包扫描的方式批量装载到MyBatis的上下文中。

Mybatis默认支持的类型别名:

所以这里对应几种写法都是等效的:

    <!--获取专属客服-->
    <select id="getmyserviceinfo" statementType="CALLABLE" parameterType="java.lang.Integer" resultType="com.finance.model.Customer">
        Exec WebApi_User_GetMyService #{uidx}
    </select>
    <!--获取专属客服-->
    <select id="getmyserviceinfo" statementType="CALLABLE" parameterType="Integer" resultType="com.finance.model.Customer">
        Exec WebApi_User_GetMyService #{uidx}
    </select>
    <!--获取专属客服-->
    <select id="getmyserviceinfo" statementType="CALLABLE" parameterType="int" resultType="com.finance.model.Customer">
        Exec WebApi_User_GetMyService #{uidx}
    </select>

 

其他推荐博客:

mybatis 详解(四)------properties以及别名定义

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值