MyBatis中typealiases的使用

以前一直體會不到typealiases的作用,今天遇到了問題!

問題描述

Mybatis有個代碼生成工具,生成的代碼裏面有mapper.xml文件,mapper.xml中的sql語句會用parameterType這個屬性,而這個值可能是我們自定義的對象,此時,如果沒有typealiases,我們就需要爲parameterType指定全路徑:

<span style="font-size:14px;"><select id="getStudent" parameterType="com.csct.domain.StudentEntity" resultType="com.csct.domain.StudentEntity" resultMap="studentResultMap"></span>

代碼自動生成工具生成的mapper.xml文件中不帶全路徑,那麼,如果有三、四十個實體對象,我們豈不是要修改的地方太多了。

解決辦法

這個時候,我們是不是很期望有一個方式,能把com.csct.domain下的實體全部給加載進來,mapper.xml遇到不識別的類就在這裏查找呢?你都想到了,Mybatis當然也能想到吧,typealiases就是爲此而生的。使用特簡單,如下:

<span style="font-size:14px;"><configuration>
    <typeAliases>
      <!--
      通過package, 可以直接指定package的名字, mybatis會自動掃描你指定包下面的javabean,
      並且默認設置一個別名,默認的名字爲: javabean 的首字母小寫的非限定類名來作爲它的別名。
      也可在javabean 加上註解@Alias 來自定義別名, 例如: @Alias(user) 
      <package name="com.dy.entity"/>
       -->
      <typeAlias alias="UserEntity" type="com.dy.entity.User"/>
  </typeAliases>
  
  ......
  
</configuration></span>

這樣,mapper.xml的sql語句就如下了:

<span style="font-size:14px;"><select id="getStudent" parameterType="StudentEntity" resultType="StudentEntity" resultMap="studentResultMap"></span>

哦了,完事收工~
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章