如何通过 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字段中去。

 在Mybatis 参数传配置 xml 文件中insert语句中,用 to_date(#{CREATE_DATE}, ‘YYYY/MM/DD HH24:mi:ss’ )即可。

当然 插入到数据中的这个字段也要是date类型。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容