MyBatis(三)全局配置文件 之 typeAliases 类型命名

typeAliases 类型命名

  typeAliases 别名处理器:可以为我们的java类型起别名(别名不区分大小写)

方式一:

  类型别名是为 Java 类型设置一个短的名字,可以方便我们引用某个类

<typeAliases>
         <!--
              为类型设置类型别名
              type:指定的要起别名的类型的全类名,若只设置type,默认的别名就是类名小写,且别名不区分大小写
               alias:指定新的别名
          -->
         <typeAlias type="com.mybatis.bean.User"  alias="user"/> 
         
</typeAliases>

方式二:

  类很多的情况下,可以批量设置别名这个包下的每一个类创建一个默认的别名,就是简单类名小写。
  name:指定包名(为当前包以及下面所有的后代包的每一个类都起一个默认别名(类名小写))
<typeAliases>
         <!--
              package:为某个包下的所有类批量起别名
                name:指定包名(为当前包以及下面所有的后代包的每一个类都起一个默认别名(类名小写))
          -->
         <package name="com.mybatis.bean"/>
</typeAliases>    
  注意
        (1)如果没有指定别名,默认的别名就是该类的类名,且不区分大小写;
        (2)批量设置包下的类的别名,无法指定别名,默认就是类名;
        (3)可以在其他地方引用这个类(如:mapper 映射文件);
<mapper namespace="com.mybatis.mapper.UserMapper">
     <!--
         <select>:定义查询语句
         id:设置SQL语句的唯一标示
         resultType:结果类型,即实体类的全限定名
      -->
 <!--<select id="getUserByUid"  resultType="com.mybatis.bean.User"> -->
     <select id="getUserByUid"  resultType="user">
         select uid, user_name, password, age, sex from  t_user where uid = #{id}
     </select>
</mapper>

方式三:

  当给一个包中的类批量起别名的情况下,如果一个包内还有一个包,并且类名发生了冲突,可以使用@Alias 注解为某个类型指定新的别名

<typeAliases>
    <package name="com.njf.mybatis.bean"/>
</typeAliases>

  JavaBean

@Alias("user")
public class User {
     
     private Integer id;
     private String userName;
     private Date birthday;
     private String sex;
     private String addr;
}

  批量起别名的情况下使用 @Alias 注解为某个类型指定新的别名

注意

  MyBatis 已经为Java类型取好的别名(自己起别名时小心重复)
  MyBatis已经为许多常见的 Java 类型内建了相应的类型别名。它们都是大小写不敏感的,我们在起别名的时候千万不要占用已有的别名。

  

原文地址:https://www.cnblogs.com/niujifei/p/15220993.html