gpt4 book ai didi

java - 在 Eclipse IDE 中使用 JDBC 检索数据时出现问题

转载 作者:行者123 更新时间:2023-12-01 11:46:12 25 4
gpt4 key购买 nike

我对 Java 还很陌生,所以我正在开发一个项目来拓展我的数据库和 Java 知识。

我已经弄清楚如何将查询添加到数据库中,但现在在尝试打印它们时遇到错误。

假设我已经导入了所需的所有内容,例如扫描仪和 sql 语句

这是我的连接类,名为 MainClass:

public static Connection getConnection() throws Exception {
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/testTable";
String username = "placeholder";
String password = "placeholder";
Class.forName(driver);
Connection conn = Driver Manager.getConnection(url, username, password);
return conn;
}

现在在不同的类中,如果用户键入 !lookup 和一个单词,我希望从名称为字典且列为单词、定义的表中检索该单词的定义:

String userSearch = user_input.next();
String[] userSearchSplit = userSearch.split(" ", 3);

if (userSearchSplit[0].equals("!lookup")) {

try {
conn = MainClass.getConnection();
String query = "select definition from dictionary where word=" + userSearchSplit[1];
ResultSet result = pstmt.executeQuery(query);

while (result.next()) {

String definition = result.getString("definition");
System.out.println(definition);

}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

在这一切结束时,当我尝试查找运行前放入表中的单词时,我得到:

java.lang.NullPointerException

最佳答案

检查你的user_input是否为空?

我假设你的代码:

ResultSet result = pstmt.executeQuery(query);

作为

Statement pstmt = conn.createStatement();
ResultSet result = pstmt.executeQuery(query);

或者可能是您没有正确初始化 pstmt

关于java - 在 Eclipse IDE 中使用 JDBC 检索数据时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29108962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com