【问题标题】:java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long [duplicate]java.sql.SQLException:java.lang.ClassCastException:java.math.BigInteger 无法转换为 java.lang.Long [重复]
【发布时间】:2018-11-07 06:23:46
【问题描述】:

我试图将数据库连接到我的 Java 程序,并且 我得到了错误

May 28, 2018 9:26:40 PM com.example.test main
SEVERE: null
java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
    at com.mysql.jdbc.ConnectionImpl.buildCollationMapping(ConnectionImpl.java:1062)
    at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3556)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2513)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2283)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:822)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:404)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at com.example.test.main(test.java:13)
Caused by: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
    at com.mysql.jdbc.ConnectionImpl.buildCollationMapping(ConnectionImpl.java:1007)
    ... 15 more cast to java.lang.Long

我的代码是:

package com.example;

import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;

public class test {

    public static void main(String[] args) {

        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection c;
            c = DriverManager.getConnection("jdbc:mysql://localhost:3306/company", "root", "root");
            c.close();
        } catch (ClassNotFoundException | SQLException ex) {
            Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

我尝试了所有方法,但找不到解决方案。提前感谢您的帮助。

【问题讨论】:

  • 什么是驱动版本?和mysql服务器版本?
  • 驱动版本和MySQL版本是多少?

标签: java mysql exception


【解决方案1】:

我认为它与你的mysql连接器jar有关。请确认 mysql-connector jar 在您的类路径中。

如果您使用的是 maven,请检查 pom 中的 mysql-connector-java 工件。

【讨论】:

  • 它会给出一个classnotfoundexception,而不是一个强制转换问题。
猜你喜欢
  • 2020-01-19
  • 2019-11-29
  • 2013-12-23
  • 1970-01-01
  • 1970-01-01
  • 2021-09-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多