jdbc连接mysql报null问题解决

本文介绍了在使用Maven管理项目时遇到的JDBC连接乱码问题及解决方案。作者通过调整编码过滤器设置未解决问题,最终通过更换mysql-connector-java的版本从6.0.3回到5.1.38解决了乱码问题。

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

今天换了个maven来管理项目,在运行之前程序的时候,发现jdbc连接一直报null

跟踪调试了一下,发现是:

connection = DriverManager.getConnection(URL, "root", "123456");

报错:

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.)

为什么会乱码呢,先我加上了编码filter:

 <!-- 统一编码 -->
    <filter>
        <filter-name>charsetEncoding</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>charsetEncoding</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

并没有什么作用= =;

然后我修改各种idea编码,发现都不起作用,最后我想到今天切换maven的时候我更新了一下jar包,于是我将mysql-connector-java从最新的6.0.3版本换回了5.1.38,
maven坐标:

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
        </dependency>

问题解决了。。。为什么高版本优化不好啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值