java - 从数据库打印信息到控制台程序

标签 java mysql resultset

我有一个简短的问题。我是一名初级程序员,对于学校,我们需要制作一些控制台代码,在控制台中打印查询结果。我尝试了多少次都没用,我得到的只是一些奇怪的文本而不是查询结果。

这是我的主类,我还有一个名为 SimpleDataSourceV2 的第二类(这个类包含用于连接到 mySQL 数据库的代码。

  public static void main(String[] args) {
    try {
    Connection conn = SimpleDataSourceV2.getConnection();

      doQuery(conn);

      conn.close();

    }
    catch ( Exception e){
        System.out.print(e);
    }
}

public static void doQuery(Connection conn) {
    try {

        Statement stat = conn.createStatement();

        ResultSet result = stat.executeQuery("SELECT * FROM employee");

        while (result.next()) {
            System.out.println(result);
        }

        result.close();

        stat.close();

    }
    catch ( SQLException e){
        System.out.print(e);
    }
}

这是我使用的两种方法。员工表包含不同的信息,例如姓名、地址、城市等。

这是我的输出:

run:

com.mysql.jdbc.JDBC4ResultSet@2bd1c812
com.mysql.jdbc.JDBC4ResultSet@2bd1c812
com.mysql.jdbc.JDBC4ResultSet@2bd1c812
com.mysql.jdbc.JDBC4ResultSet@2bd1c812
com.mysql.jdbc.JDBC4ResultSet@2bd1c812
com.mysql.jdbc.JDBC4ResultSet@2bd1c812
com.mysql.jdbc.JDBC4ResultSet@2bd1c812
com.mysql.jdbc.JDBC4ResultSet@2bd1c812
com.mysql.jdbc.JDBC4ResultSet@2bd1c812
com.mysql.jdbc.JDBC4ResultSet@2bd1c812

BUILD SUCCESSFUL (total time: 1 second)

谁能告诉我我做错了什么?

提前谢谢你。

最佳答案

如果您直接尝试打印 ResultSet,您只会得到这样的输出。如果您知道列数,则编写一个循环并打印列值

while (result.next()) {
    for (int columnIndex = 1; columnIndex <= numberOfColumns; columnIndex ++){
        System.out.println(columnIndex + "<====>" + result.getString(columnIndex));
    }
}

如果您不知道列数,可以使用 ResultSetMetaData 获取它像这样

 java.sql.ResultSetMetaData rsmd = result.getMetaData();
 int numberOfColumns = rsmd.getColumnCount();

关于java - 从数据库打印信息到控制台程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20667234/

相关文章:

java - 如何在 Android Kotlin 中包装异步 Java 库?

java - java 中的突然结果集行为

perl - 我可以从工具包模板文件中搜索结果集吗?

mysql - 存储过程更新所有行而不仅仅是一行

mysql - 如何将sql模式变量设置为mysql中的局部变量

java - ResultSet 关闭后不允许操作

java - 服务在模拟器上启动但在设备上不启动

java - 如何为 IntelliJ 的 RemoteMavenServer 设置 JVM 选项?

java - 宽松绑定(bind)不适用于具有自定义系统环境属性源的组合 @ConfigurationProperties 名称

mysql - 如何使用 pentaho 数据集成获取唯一记录