jdbc连接数据库无法访问出错The server time zone value

前言

本来做登录模块,结果一直显示不出来到servlet那里就空白,就觉得肯定是代码问题,之后仔细检查从bean、到servlet,也没有找出错误。就逐行检查,每各几句就显示一次,就发现连接数据库出现了问题。

Connection conn=DriverManager.getConnection(“jdbc:mysql://localhost:3306/sa”,“root”,“123456”);
这句话运行不成功。然后直接java运行查看结果,报错:
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.
可以肯定是时区问题
在访问数据库时url需要加上这一句:
useSSL=false&serverTimezone=UTC

jdbc:mysql://localhost:3306/sa?&useSSL=false&serverTimezone=UTC

附上测试代码:

import java.sql.*;

import static java.sql.DriverManager.getConnection;


public class ces {
    public static void main(String[] args) {
        //加载驱动类
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            //Class.forName("com.mysql.jdbc.Driver");
            Connection conn = getConnection("jdbc:mysql://localhost:3306/sa?&useSSL=false&serverTimezone=UTC", "root", "123456");
            //sa代表的是数据库,root代表的是数据库的用户名,123456代表数据的密码,请自己注意修改
            Statement sql=conn.createStatement();
            ResultSet rs;
            rs=sql.executeQuery("select * from user");//user代表的是表,请注意修改
            while (rs.next())
            {
                System.out.println(rs.getString(1));
                System.out.println(rs.getString(2));
            }
            conn.close();
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值