当SQL异常出现时
java.lang.IncompatibleClassChangeError: Found class com.mysql.jdbc.Statement, but interface was expected
你可以解释一下吗?它是由于mysql jar更改到下一个版本?
答案 0 :(得分:1)
在mysql-connecter-java-5.0中,Statement是一个类。在5.1中,它是一个界面。
你写的代码不应该太在意。但是如果你针对新版本编译,然后针对旧版本运行,你就会遇到这个问题。
答案 1 :(得分:0)
如果您使用mysql-connector-java-5.0编译代码,并且在执行代码时使用mysql-connector-java-5.1,则会出现此问题。
如果您是Java开发人员,则可以轻松重现此问题。 在import语句中,使用“ import com.mysql.jdbc.Statement”编写一些jdbc逻辑,针对“ mysql-connector-java-5.0.jar”编译代码,并在类执行时使用“ mysql-connector-java-5.1”。罐子”。
要解决此问题,请验证用于编译和执行的版本是否相同。