Mybatis映射文件中#取值時指定參數相關規則

Mybatis映射文件中#取值時指定參數相關規則

在#{}中,除了需要的數值外,還可以規定參數的一些其他規則。

例如:javaType,jdbcType,mode(存儲過程),numericScale,resultMap,typeHandler,jdbcTypeName,expression;

其中比較常用的爲jdbcType。


jdbcType

​ jdbcType通常在某種特定的條件下被設置:即在我們傳入數據爲null的時候,有些數據庫可能不能識別mybatis對null的默認處理。比如Oracle(報錯 :JdbcType OTHER:無效的類型;)。我們需要在傳值後面加上jdbcType = 類型,來確保數據庫的正確識別。

​ 因爲mybatis對所有的null都映射的是原生Jdbc的OTHER類型,Oracle不能正確處理,mysql可以正常處理。即產生的主要原因是全局配置中,jdbcTypeForNull的默認值爲OTHER,oracle不予支持。

​ 所以,除了在#{}裏面添加JdbcType的規則,還可以在mybatis全局配置裏面添加全局配置:

<setting name="jdbcTypeForNull" value="NULL|VARCHAR|OTHER">

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