jdbc 连接mysql8.0

在使用jdbc连接MySQL8.0时遇到时区识别错误,服务器时间区域值'Öйú±ê׼ʱ¼ä'未被识别。为启用时区支持,需要配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更具体的时区值。此外,还提到了jdbc驱动的driverClassName已改变,不带'cj'的版本已被标记为过时,并且url连接信息中添加了zone信息来示例解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jdbc连接mysql8.0 报错:

java.sql.SQLException: 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.

conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/nq123?&user=root&password=941125");

改成:

conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/nq123?useSSL=false&serverTimezone=Hongkong&useUnicode=true&characterEncoding=utf-8&user=root&password=941125");

还有:jdbc 驱动 driverclassname 改变了原先的不加cj的已经被标记为过时

url连接信息后边加入了zone信息  

示例:

package zju_001.maven_test_1;

import java.sql.DriverManager;
import java.sql.SQLException;
//import com.mysql.jdbc.Connection;
import java.sql.Connection;
//import com.mysql.cj.jdbc.Driver
import java.sql.DriverManager;
import java.sql.SQLException;

public class JDBC_test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String dbUrl = "jdbc:mysql://localhost:3306/mybatisDemo?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT";
		String dbUser = "root";
		String dbPwd = "941125";
		Connection conn = null;
		
		try {
			//Class.forName("com.mysql.jdbc.Driver");
			Class.forName("com.mysql.cj.jdbc.Driver");
			conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/nq123?useSSL=false&serverTimezone=Hongkong&useUnicode=true&characterEncoding=utf-8&user=root&password=941125");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
//Notice, do not import com.mysql.cj.jdbc.*
//or you will have problems!

class LoadDriver {
 public static void main(String[] args) {
     try {
         // The newInstance() call is a work around for some
         // broken Java implementations

         Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
     } catch (Exception ex) {
         // handle the error
     }
 }
}







评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值