【问题标题】:Can't print out the contents of mysql database无法打印出mysql数据库的内容
【发布时间】:2021-03-23 05:45:46
【问题描述】:

除了我无法将任何内容打印到控制台之外,基本上所有内容都已连接并且数据库可以正常工作。我不知道 2 如何解决这个问题。请帮帮我

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.*;

class Main{
    private static final String url = "jdbc:mysql://localhost:3306/";
    private static final String user = "root";
    private static final String password = "12345678";
    public static void main(String args[]){
        try {
            Class.forName("com.mysql.jdbc.Driver");//it goes to catch immediately after this line
            Connection con = DriverManager.getConnection(url, user, password);
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("select * from emp");
            while (rs.next()) {
                int price = rs.getInt(3);
                System.out.println(price);
            }
            con.close();
        }
        catch (Exception e) {
            System.out.println(e);
        }

    }
}

它在执行结束时打印的内容:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

进程以退出代码 0 结束

【问题讨论】:

  • 您是否检查过该表是否包含数据?
  • 它肯定包含数据。问题出在我想的主要方法的第一行
  • 能分享emp表的schema吗
  • “它会在这一行之后立即捕获” - 我假设会打印一条错误消息和堆栈跟踪。你可以edit你的问题来显示这个(格式化的)信息。此外,关于 JDBC URL + MySQL + Class.forName() + 驱动程序 JAR 文件位置 + 类路径问题还有很多关于 SO 的问题。你研究过这些吗?
  • 我浏览了很多关于这个的页面,但我想我错过了一些东西

标签: java mysql database jdbc


【解决方案1】:

你应该在连接 MySQL 时为你的数据库命名:

private static final String url = "jdbc:mysql://localhost:3306/your_database_name";

【讨论】:

  • 没有帮助:(
  • 它可能没有立即帮助,因为这个问题隐藏在其他错误之后,但它是必要的修复
【解决方案2】:

您似乎遇到了一个问题。第 3 列是“制造商”(一个字符串)。 根据文档“第一列为 1,第二列为 2,...”

https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#getInt(int)

rs.getString(3);
rs.getInt(4);
rs.getInt("ProductCount");

我刚刚注意到您添加了错误消息。看来您需要添加 mysql 连接器 jar。看看这篇文章是否回答了你的问题:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver in Eclipse

【讨论】:

  • 你说得对,伙计,但编译器甚至无法执行我的那部分代码。 Cos smth 第一行 Main 有问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-10
  • 1970-01-01
  • 2018-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多