服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java timezone设置和mybatis连接数据库时区设置方式

Java timezone设置和mybatis连接数据库时区设置方式

2021-12-25 17:07enjoy嚣士 Java教程

这篇文章主要介绍了Java timezone设置和mybatis连接数据库时区设置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Java timezone设置和mybatis连接数据库时区设置

JVM时区设置

springboot工程运行时,需要指定时区,这样获取的时间才会和系统时间相同。以下介绍方法:

1.查看当前时区

centos7以前(不含centos7)

cat /etc/sysconfig/clock

Java timezone设置和mybatis连接数据库时区设置方式

centos7以后(包含centos7)

timedatectl

Java timezone设置和mybatis连接数据库时区设置方式

在启动jar包的时候指定-Duser.timezone即可。举例:

nohup java -Xms1024m -Xmx10240m -Xmn3840m -Xss512k -Djava.io.tmpdir=./tmp-jar -Duser.timezone=Asia/Shanghai $JAR_NAME >/dev/null 2>&1 &

Mybatis

连接MYSQL数据库时需要指定时区,这样查出来的时间和数据库中的时间才会一致。

具体操作:

spring.datasource.druid.url=jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useSSL=false&zeroDateTimeBehavior=convertToNull&useLegacyDatetimeCode=false

注意这里的 serverTimezone=Asia/Shanghai

这里使用的是阿里的druid连接池。

 

Mybatis timezone问题

Mybatis 连接报错

The server time zone value ‘中龚病括骸良省兰' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

解决方法

在配置文件中的连接字符串添加serverTimezone=GMT%2B8

<property name="url" value="jdbc:mysql://localhost:3306/database?useSSL=true&amp;useUnicode=true&amp;characterEncoding=utf8&amp;serverTimezone=GMT%2B8"/>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://enjoy-day.blog.csdn.net/article/details/109044134

延伸 · 阅读

精彩推荐