方式一,逐个定制:
<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以及别名定义