目前我尝试在本地连接mysql服务器。我的代码如下所示:
import java.sql.*;
public class JdbcSelectTest {
public static void main(String[] args) {
try (
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/ebookshop?useSSL=false", "...", "...");
Statement stmt = conn.createStatement();
) {
String strSelect = "select title, price, qty from books";
System.out.println("The SQL query is: " + strSelect);
System.out.println();
ResultSet rset = stmt.executeQuery(strSelect);
System.out.println("The records selected are:");
int rowCount = 0;
while(rset.next()) { // Move the cursor to the next row, return false if no more row
String title = rset.getString("title");
double price = rset.getDouble("price");
int qty = rset.getInt("qty");
System.out.println(title + ", " + price + ", " + qty);
++rowCount;
}
System.out.println("Total number of records = " + rowCount);
} catch(SQLException ex) {
ex.printStackTrace();
}
}
}
现在,当我使用:javac JdbcSelectTest.java
编译时,一切正常。但是现在,当我尝试使用:java-cp.; C:\用户\Marco\IdeaProjects\mysql-Connecter-java-8.0.13\mysql-connector-java-8.0.13.jarJdbcSelectTest
运行编译时,我收到以下错误:
错误:发生JNI错误,请检查您的安装并在线程“main”java中重试异常。lang.UnsupportedClassVersionError:JdbcSelectTest由最新版本的Java运行时(类文件版本55.0)编译,此版本的Java运行时仅识别高达52.0的类文件版本。。。
我的JAVA_HOME属性指向我本地安装的jdk版本11.0.1。
mysql-连接器-java版本ist: 8.0.13。
有人能帮我吗-顺便说一句。我在java上很新手-所以任何评论都有帮助。
存在java版本不匹配。您需要安装正确版本的java,即java 8并用它编译您的代码。在这里您可以找到一个包含所需版本的表:vers。
您的问题与mysql库无关。
错误消息的有意义部分:
JdbcSelectTest has been **compiled by** [...] Java Runtime (class file version **55.0**)
vs
this [...] Java Runtime only **recognizes** class file versions up to **52.0**
这可以翻译成这样:
JdbcSelectTest由Java 11编译,但试图由Java 8运行。
如果您想验证这一点,只需在控制台中键入以下命令:
:~ > java -version
:~ > javac -version
你会觉得他们不一样。您已经检查了JAVA_HOME变量,但还必须查看路径变量才能修复此问题。此链接将帮助您做到这一点。
我用记事本写了一个“Helloworld.java”文件。我通过写“javac Helloworld.java”在cmd上编译,我在同一个目录中得到了“Helloworld.class”文件。 我编写了“java Helloworld”来启动它,出现了一个JNI错误。 我检查了我的java版本,找不到原因。我如何解决这个问题? 我将java bin的路径添加到系统的路径列表中。 下面是我的cmd屏
问题内容: 这是代码: 错误: 跑: 请帮助我解决此错误。我正在使用Windows Vista OS。 谁能建议我如何以.3gp格式存储文件?请帮助 问题答案: 方法内部的第202行的某些对象引用是在代码尝试使用点运算符访问/调用它时进行的。 例如 解决方案实际上很简单。只需实例化它即可确保它不为空: …或在访问/调用之前简单地执行nullcheck:
我试图使用命令“java-jar XXXX.jar”运行spring boot项目,但出现以下错误: 错误:发生JNI错误,请检查您的安装并重试线程“main”java.lang.NoClassDefFoundError中的异常:org/modelmapper/modelmapper位于java.lang.Class.getDeclaredMethods0(本机方法),java.lang.Clas
我的代码中出现了这个错误。 这是我的代码: 这就是结果。错误:在线程“main”java中输入model:Exception。lang.NullPointerException在汽车上。主(车.java:10)
我收到控制台错误-无法访问行值 mdiwindow.frames.volumecharting_calc$save.updateRow(volumecharting_calc.java:497)mdiwindow.frames.volumecharting_calc.java:363)java.util.concurrent.ThreadPoolExecutor.runworker(ThreadP