Mysql自动更新的时间值TimeStamp与Java(mybatis)读取后多了8小时问题记录
来源:互联网 发布:北京青旅推荐 知乎女性 编辑:程序博客网 时间:2024/04/29 15:41
Mysql table创建语句,每次修改后,自动更新该字段时间值为系统当前时间
`lastModifyTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后一次更新时间',
由于Mysql 使用系统默认时区,东八区。
而Tomcat java使用UTC时区进行处理业务逻辑。从而导致Mysql数据库中lastModifyTime值查询后转到Java Bean,值多了8个小时。
修改方法有很多种
1)保持两个系统的时区一致;由于Tomcat使用UTC时间,可以在Mysql中使用UTC_TIMESTAMP,而不是CURRENT_TIMESTAMP,这样时区就都是UTC了。
2)lastModityTime不使用Mysql自动更新方式,而由Java Bean赋值方式。这样是最合理的。
根因是Tomcat与Mysql时区不一致,或者说根因是Mysql数据的变化源存在多个(Tomcat、Mysql),而多个源很容易产生时区等不一致情况。在开发Web系统时,尽量要减少这种多个模块、部件的耦合,尽量保证数据的变化源只有一个地方,就是Tomcat的Java Bean。
延伸———–
CURRENT_TIMESTAMP和UTC_TIMESTAMP都是Mysql的特有关键字,非ANSI SQL标准规定的。如果切换SQL组件,成本就会特别高。在SQL使用时尽量遵循ANSI SQL标准
0 0
- Mysql自动更新的时间值TimeStamp与Java(mybatis)读取后多了8小时问题记录
- MySQL timestamp自动更新时间
- MYSQL-TIMESTAMP数据类型的默认值与自动更新问题
- 数据库中取出时间数据,JS转换后小时的值多了8个小时
- MySQL的timestamp类型自动更新问题
- MySQL的timestamp类型自动更新问题
- MySQL的timestamp类型自动更新问题
- MySQL的timestamp类型自动更新问题
- MySQL timestamp自动更新时间分享
- MySQL timestamp自动更新时间分享
- java读取系统时间写入mysql数据库时,滞后八小时问题的解决
- dateformat后时间少了8小时问题
- java读取系统时间写入mysql数据库时,滞后八小时问题的解决 - ghostgarlic的专栏 - CSDNBlog
- MySQL timestamp,更新记录的某个字段,时间跟着改变了
- MySQL数据库的数据类型timestamp的自动更新
- java从数据库读取时间的时候时间参数后多了一个.0
- mysql 添加[取消]timestamp的自动更新
- C3P0连接池配置解决MySQL连接的空闲时间超过8小时后自动断开连接的问题
- 分享如何使用PHP将URL地址参数进行加密传输提高网站安全性
- GCC内联函数:__builtin_types_compatible_p
- 推荐一个用于在Xcode控制台显示中文的插件FKConsole。
- 将cocos游戏合并到iOS工程中
- BZOJ2435——[Noi2011]道路修建
- Mysql自动更新的时间值TimeStamp与Java(mybatis)读取后多了8小时问题记录
- ElasticSearch 全文检索 termQuery和queryString
- POJ 2823 Sliding Window
- Intersection of Two Arrays II
- ubuntu--ogv格式转mp4格式
- 【Linux】【Makefile】开源软件的编译问题
- Activity Service生命周期图
- 缓冲区
- Android基础之Android系统架构