MyBatis的自定义别名和内置别名


自定义别名的两种方式:

 
一、给类(java文件)取别名


  <!-- 
        别名的第一种方式,为Users类取别名
        这种方式比较直观,把一个type直接用短名字表示,这个配置是在mybatis的config.xml里面配置的,在mapper.xml使用别名Users就可以了

   -->


<
typeAliases> <typeAlias type="cn.itsors.domain.Users" alias="Users"/>
</typeAliases>

 


二.写一个包名

   <!-- 
        别名的第二种方式,只要写一个包名,mybatis就会扫描这个包里的类,在mapper.xml使用包中的类名Users(类名不区分大小写)就可以了
      -->
     <typeAliases>
        <package name="cn.itsors.domain"/> 
   </typeAliases>

 


使用别名:

没有别名时的 resultType为 包名+类名:(cn.itsors.domain.Users

<!--
  resultType:执行这段sql后结果值的类型是Users(result 翻译 结果值)
  parameterType:执行这段sql传的参数类型long(long内置别名(下面有内置别名的列表),意思就是参数是Long数据型)
  #{id}:就是传的参数。
-->
<
select id="selectAllUser" parameterType="long" resultType="cn.itsors.domain.Users">
     select * from t_user where id = #{id}
</select>

 

使用别名时resultType直接用别名:

<!--
   注意这里的 resultType 返回值类型是集合内存储数据的类型,不是 'list'
    个人理解:最终存储数据的是对象Users,而list是存储Users对象的集合,
         所以查询后的结果数据是被User存储的,所以resultType的类型是Users而不是list
         详情请看https://blog.csdn.net/codejas/article/details/79520246
-->

<select id="selectAllUser" resultType="Users"> select * from t_user </select>

 

内置别名:

  对于引用数据类型,都是将大写字母转小写,比如 HashMap 对应的别名是 'hashmap'

  基本数据类型考虑到重复的问题,会在其前面加上 '_',比如 int 对应的别名是 '_int'

  

 

 

 

 

posted @ 2019-11-26 22:50  肖镜泽  阅读(2213)  评论(0编辑  收藏  举报