由于业务场景需求,需要记录精准的时间,但是呢,又不要想使用int类型来存储时间,因为这样的可读性比较差了。
怎样在mybatis中向数据库插入毫秒级别的时间呢?
首先,先来看看怎样向数据库中插入毫秒时间。这是关键问题,如果直接向数据库插入时间都无法完成,那就不要想借助其他工具能完成了。 可以使用mysql客户端工具,插入一个时间,设置为datetime,尝试一下:
() unsigned AUTO_INCREMENT COMMENT () COMMENT () COMMENT () COMMENT () COMMENT () COMMENT () COMMENT () COMMENT () COMMENT () COMMENT () COMMENT () COMMENT () COMMENT COMMENT COMMENT InnoDB CHARSET t_job_record job_name ,job_end_time ;
发现插入后,job_end_time ='2017-10-27 12:15:43';不满足需求,于是更改时间格式为datetime(3),保留3位小数
t_job_exec_record CHANGE `job_end_time` `job_end_time` () COMMENT ;
然后再进行相同插入,即可完成毫秒数时间的写入。
可以使用直接插入的方式进行记录后,就是考虑怎样使用工具进行完成插入了。
String dateStr = SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").format( Date());
如此,便可以记录准确的时间了。
当然,还有另外的法子,那就是将该时间设置为 varchar 或者 char,然后再以字符串形式写入即可。
另附注: 记录金额时,一定要使用 decimal 而非 float 或者 double 或者使用整数来记录,然后在代码中转换格式,因为decimal会更精确。
由于特殊需求场景出现,记录一下当留恋吧。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。