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'

  

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM