MyBatis3之java.util.Date類型如何映射到mysql的datetime類型

<update id="updateOrderStatus" parameterType="hashmap">  
    <![CDATA[ 
        UPDATE HS_TOSS_ORDER SET T_STATUS = #{status,jdbcType=INTEGER}, 
        T_UPDATETIME = #{updateTime} where T_ID = #{orderId,jdbcType=VARCHAR} 
    ]]>  
</update>

理論上不用顯示的定義jdbcType,只有當字段可爲NULL時才須要jdbcType屬性;另外若是字段類型爲日期時間類型,顯示的指定jdbcType,能夠更準確的表述SQL,由於java只有一個Date類型,而大多數數據庫有多個時間日期類型。 java

通常狀況下,日期時間類型的字段,resultMap 和 參數中不顯示的指定時,mybatis會自動作類型映射成DATETIME(yyyy/MM/dd HH:MM:SS);若是指定jdbcType="DATE",則存入數據庫和取出的時間格式yyyy/MM/dd數據庫

  1. mybatis中 jdbcType 時間類型 當jdbcType = DATE 時, 只傳入了 年月日 jdbcType = TIMESTAMP , 年月日+ 時分秒網絡

  2. jdbcType 是否必須: 使用時, 沒有加jdbcType 正常, 加上jdbcType緣由(網絡): 當傳入字段值爲null,時,須要加入. 不然報錯.mybatis

相關文章
相關標籤/搜索