因此,我有一个连接到mysql数据库和xampp作为其本地主机的Java项目。最初我有一个关于NULL EXCEPTION的错误,然后添加了代码:
if (con!=null) {
return;
}
代替:
if (con!=null) {
con.close();
}
当我运行项目时,没有错误,但是控制台不会显示数据库中的数据,而是显示以下内容:
java版本“ 1.8.0_181” Java(TM)SE运行时环境(内部版本1.8.0_181-b13) Java HotSpot(TM)64位服务器VM(内部版本25.181-b13,混合模式)
我不知道这是什么意思。如果我的代码有错误或我以错误的方式连接了数据库。
顺便说一下,这是我的代码:
package jdbc.Sample;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Sample {
private static Connection con;
private static Statement st;
private static ResultSet rs;
public static void main(String[] args){
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/testdb?serverTimezone=UTC","root", "");
}
catch(Exception ex) {
System.out.println("Error: "+ex);
}
}
public void getData() throws SQLException{
try {
st = con.createStatement();
rs = st.executeQuery("SELECT * FROM persons");
System.out.println("Records from Database:");
while(rs.next()) {
String name = rs.getString("name");
String age = rs.getString("age");
System.out.println("Name: "+name+", "+"Age: "+age);
}
}catch(Exception ex){
System.out.println(ex);
}finally {
if (rs!=null) {
rs.close();
}
if (st!=null) {
st.close();
}
if (con!=null) {
return;
}
}
}
}
非常感谢您的帮助!谢谢!