如何将表数据从数据库打印到 Java 控制台? [关闭]

Posted

技术标签:

【中文标题】如何将表数据从数据库打印到 Java 控制台? [关闭]【英文标题】:How do I print table data from database to Java Console? [closed] 【发布时间】:2013-07-19 06:13:00 【问题描述】:

我不擅长 Java,我只学习了基础知识,但不知何故它仍然有点新鲜。我想知道有人如何将表格中的一行打印到 Java 控制台。

try 
    statement = con.prepareStatement(
                "SELECT * FROM users WHERE Username ='" + 
                LOGIN_UsernameField.getText() + "' AND Password ='" +
                LOGIN_PasswordField.getPassword() + "'");
    System.out.println ();

我知道system.out.println 的东西当然行不通,我需要一些东西来替换它以打印出来自它上面的 SQL 语句的行。

【问题讨论】:

在你问之前先把它装起来怎么样? mkyong.com/tutorials/jdbc-tutorials 可能他不知道使用哪些关键字进行搜索(我的意思是“JDBC”) @Karloss,我既没有投反对票,也没有发表任何激进的评论。这就是我提供链接的原因。 :) 我投票决定关闭,因为有一个“糟糕的老师”不是不做任何研究的借口...... 另见***.com/a/31887249/32453 【参考方案1】:

试试 Oracle 的this tutorial。它简单明了。

应该是这样的

try
        statement = con.prepareStatement(
                "SELECT * FROM users WHERE Username = ? AND Password =?");
        statement.setString(0,LOGIN_UsernameField.getText());
        statement.setString(0,LOGIN_PasswordField.getPassword());
        ResultSet rs = statement.execute();
        while(rs.next())
           System.out.println("UserName:"+rs.getString("Username")+"\nPassword:"+rs.getString("Password"));
        
catch()
 //handle exceptions
finally
 //close statements, statement and resultset here..

【讨论】:

谢谢,谢谢,我真的试过bing和google,我就是找不到合适的地方,我用错了关键字。无论如何,再次感谢你。【参考方案2】:

这里是代码

    System.out.println("-------- mysql JDBC Connection Testing ------------");


    Connection connection = null;

    try 
        connection = DriverManager
                .getConnection("jdbc:mysql://localhost:3306/testDb", "userName", "Password");
     catch (SQLException e) 
        for(Throwable ex : e) 
            System.err.println("Error occurred " + ex);
        
        e.printStackTrace();
    

    if (connection != null) 
        System.out.println("Connected to database!");
     else 
        System.out.println("Failed to make connection!");
    

    try 
        Statement stmt = connection.createStatement();
        String query = "select * from person ;";
    //person is the table name
        ResultSet rs = stmt.executeQuery(query);
        while (rs.next()) 
            String name = rs.getObject(1).toString();
            String gender = rs.getObject(2).toString();
            System.out.println("Name of the person is " + name + " and his gender is " + gender);
    //Person table has name and gender column

        
     catch (SQLException e) 
        e.printStackTrace();
        for(Throwable ex : e) 
            System.err.println("Error occurred " + ex);
        
        System.out.println("Error in fetching data");
    

注意:我使用的是JDBC 4 附带的Java 7,因此无需显式提供驱动程序。编译器会自动从类路径中获取它。您可以下载 MySqlConnector.jar 并将其放在您的类路径中。如果您不使用 java 7,则必须使用 Class.forName() 显式加载驱动程序。当然我用的是MySql...驱动会随着你使用的数据库而改变。

希望这会有所帮助。

【讨论】:

以上是关于如何将表数据从数据库打印到 Java 控制台? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何将表从存储过程检索到数据表?

如何将表的记录从数据库检索到另一个数据库

如何将表值从一个数据库插入到另一个数据库? [关闭]

如何将表数据从 PostgreSQL (pgAdmin) 导出到 CSV 文件?

如何将表中的数据作为 CSV 从 Greenplum 数据库导出到 AWS s3 存储桶

如何将表从一个mysql数据库复制到另一个mysql数据库