您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關MyBatis如何進行配置typeAliases,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
0x01:標簽介紹
在 MyBatis 的 sql 映射配置文件中,需要使用 paramterType、resultType 來設置 sql 語句的輸入輸出參數,一般參數都是基本的數據類型或封裝類型,但都需要聲明該類型的全路徑,java.lang.String,或者 cn.com.mybatis.pojo.User, 這時就可以通過 typeAliases 別名來設置,簡化復雜度
0x02:代碼示例
例如之前介紹的模糊查詢示例,當不使用別名,而使用全路徑時,配置示例代碼如下:
<select id="findUserByUsername" parameterType="java.lang.String" resultType="cn.com.mybatis.pojo.User"> SELECT * FROM USER WHERE username LIKE '%${value}%' </select>
當通過設置 MyBatis 的全局配置文件 SqlMapConfig 中的 typeAliases 屬性后,就可以為 sql 映射文件中的輸入 / 輸出參數設置類型別名,然后在 sql 映射配置文件中指定輸入輸出參數類型時使用的別名。首先,SqlMapConfig 配置文件示例如下:
<typeAliases> <typeAlias alias="user" type="cn.com.mybatis.pojo.User"/> <typeAlias alias="str" type="java.lang.String"/> </typeAliases>
這樣就可以在 sql 映射配置文件中使用別名來指定輸入 / 輸出參數的類型了,其示例代碼如下:
<select id="findUserByUsername" parameterType="str" resultType="user"> SELECT * FROM USER WHERE username LIKE '%${value}%' </select>
0x03:別名拓展
像剛才的 JavaBean,User 是放在 cn.com.mybatis.pojo 包里的,包里可能也會存在其他多個 JavaBean,這時候一個一個配置別名就會很麻煩,這時候就需要批量定義別名,批量指定很簡單,只要指定包名即可,之后程序會為包下的所有類都自動加上別名,其定義別名的規范就是對應包裝類的類名首字母變為小寫,其示例代碼如下:
<typeAliases> <package name="cn.com.mybatis.pojo"/> </typeAliases>
這時設置的包名下的類就都有了別名,別名就是類名(首字母小寫),像剛才的 User 類,其別名就為 user。
除了在配置文件中單獨的配置別名和批量的配置別名兩種方式外,還有一種方式,就是通過注解的方式來配置別名,方法也很簡單,在需要配置別名的類前通過 @Alias 注解即可,參數就是別名名稱,例如以下示例代碼:
@Alias("user") public class User{ //其他代碼 }
0x04:常見類型別名匯總
MyBatis 已經為 Java 常見類型默認指定了別名,可以直接使用。因為有一些基本數據類型和包裝類型的名稱一樣(例如基本數據類型 byte 和包裝類型 java.lang.Byte),所以在基本的數據類型前面加了下劃線 “_” 來以此區分(byte 別名就是_byte,java.lang.Byte 別名就是 byte)。
看完上述內容,你們對MyBatis如何進行配置typeAliases有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。