1. 程式人生 > >如何通過 Mybatis 向Mysql 插入Date 或者DateTime

如何通過 Mybatis 向Mysql 插入Date 或者DateTime

MyBatis3做資料持久層,在欄位中有Date和DateTime型別,在插入資料時只要將實體的屬性設定成Timestamp就會對應mysql的DateTime型別,Date會對應mysql的Date型別。

在MyBatis對映檔案中要表明對映型別。

<result column="modified_date" jdbcType="TIMESTAMP" property="modifiedDate" javaType="java.sql.Timestamp" />  
<result column="create_date" jdbcType="DATE" property="createDate" javaType="java.util.Date" />  
<result column="date" jdbcType="TIMESTAMP" property="date" javaType="java.util.Date" />


在插入語句的那個mybatis XML檔案在使用欄位的時候也要標明型別,注意得用#{},別用${}

#{modifiedDate, jdbcType=TIMESTAMP}

#{createDate, jdbcType=DATE}。

另外,如果從JAVA程式碼中傳過來的引數是是字串型別的,如: “2016/11/16 10:26:17“,如何將這個字串轉換為date型別呢?因為mybatis接收引數也挺特殊的,一般格式為:#{param,jdbcType=VARCHAR}, 則要用下面的方法把它插入到mysql的datetime欄位中去。

1: 在Mybatis 引數傳配置 xml 檔案中insert語句中,用  

to_date(#{CREATE_DATE}, 'YYYY/MM/DD HH24:mi:ss' )即可。

當然 插入到資料中的這個欄位也要是date型別。