600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > mybatis存mysql没有时分秒_spring mvc + mybatis + mysql 保存的时间少了8个小时

mybatis存mysql没有时分秒_spring mvc + mybatis + mysql 保存的时间少了8个小时

时间:2019-07-03 19:42:05

相关推荐

mybatis存mysql没有时分秒_spring mvc + mybatis + mysql 保存的时间少了8个小时

项目构成:spring mvc + mybatis + mysql5.7 + jdk8

使用mysql5.7是为了存储json格式数据

使用jdk8新的日期API LocalDateTime now = LocalDateTime.now(); 获取当前时间并保存到数据库。但是发现在mysql中实际存储的时间比当前正确的时间少了8个小时。

处理过程

1、代码问题,跟踪调试,在保存到数据库之前的时候,对象中保持的时间还是正确的

2、怀疑是系统时区问题,排查本机系统,服务器系统,数据库系统等电脑系统时区都是东八区没问题

3、查询资料,发现mysql也有自己的时区设置

/mchdba/a...

/p/ea7e...

首先在mysql查看时间有没有问题

发现没有问题,但是我还是按资料操作修改时区设置,包括命令修改和修改my.ini配置文件都没有解决问题。

my.ini内容:

[mysqld]

basedir = D:\mysql-5.7.19-winx64

datadir = D:\mysql-5.7.19-winx64\data

port = 3306

default-time-zone = '+8:00'

其中时区设置是刚刚加上的。

上面排查到第3步的时候,我在查询自己的mysql时区的时候发现参数system_time_zone是空的,并且有一个警告,且查找资料无法解决:

/shiyong1...

整体感觉没有奇怪,每台机器的时区设置都一样,项目或者mysql本身也没有配置时区参数的问题,数据保存到数据库之前时间没问题,mysql本身设置好像也没问题,但是数据保存完以后却不正常。

08-23早上补充

mybatis 控制台sql打印内容

DEBUG [ -08-23 10:02:33 549 ]: org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:145) - ==> Preparing: insert into log_user_operation (pk_id, user_code, user_name, login_ip, url, operation_type, operation_content, remark, create_time) values (?, ?, ?, ?, ?, ?, ?, ?, ?)

DEBUG [ -08-23 10:02:33 588 ]: org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:145) - ==> Parameters: null, admin(String), Admin(String), 127.0.0.1(String), http://localhost:8080/bi/login-check(String), SELECT(String), 用户登录(String), (String), -08-23 10:02:33.022(Timestamp)

DEBUG [ -08-23 10:02:33 600 ]: org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:145) - <== Updates: 1

DEBUG [ -08-23 10:02:33 604 ]: org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:145) - ==> Preparing: SELECT LAST_INSERT_ID()

DEBUG [ -08-23 10:02:33 605 ]: org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:145) - ==> Parameters:

TRACE [ -08-23 10:02:33 642 ]: org.apache.ibatis.logging.jdbc.BaseJdbcLogger.trace(BaseJdbcLogger.java:151) - <== Columns: LAST_INSERT_ID()

TRACE [ -08-23 10:02:33 643 ]: org.apache.ibatis.logging.jdbc.BaseJdbcLogger.trace(BaseJdbcLogger.java:151) - <== Row: 39

DEBUG [ -08-23 10:02:33 646 ]: org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:145) - <== Total: 1

DEBUG [ -08-23 10:02:33 652 ]: org.mybatis.spring.SqlSessionUtils.closeSqlSession(SqlSessionUtils.java:193) - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3a8a10a7]

数据库实际结果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。