java向mysql插入时间类型的数据,取出后跟插入前的值不一致

作者:青山常在人不老   阅读 (1365)  |  收藏 (0)  |  点赞 (0)

摘要

java向mysql插入时间类型的数据,取出后跟插入前的值不一致


原文链接:java向mysql插入时间类型的数据,取出后跟插入前的值不一致

我在java程序中,使用了mybatis框架,当使用java向mysql中插入时间类型的数据后,然后取出这个数据,发现取出的数据跟插入前的数据不一致了,例如,我插入数据库前的时间类型的属性转为long类型的数值为1232233454321,那么,我再使用java从数据库中去出来这个时间类型的数据,发现始终是最后三位数字变成了0,变成了1232233454000,切这个现象始终是存在的。

java代码:

 Date date = new Date();
 document.setCreateTime(new Timestamp(date.getTime()));
 documentDao.addDocument(document);

mapping中代码:

<insert id="addDocument">
    insert into
    document_info(docTitle,docAbstract,createTime)
    values(#{docTitle},#{docAbstract},#{createTime,jdbcType=TIMESTAMP})
</insert>

document_info的表结构如下:

CREATE TABLE `document_info` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `docTitle` varchar(100) NOT NULL,
  `docAbstract` varchar(500) NOT NULL,
  `createTime` datetime NOT NULL
}

请问有什么办法能保证插入禁区的日期类型的值和取出来的值保证一致。

分类   默认分组
字数   723

博客标签    mysql时间数据类型不一致   java插入时间和取出的值不一样  

评论