java - 使用java查询数据库时控制台没有输出
问题描述
尝试做一个家庭作业,包括使用 jdbc 将 java 连接到 Oracle SQLdeveloper,然后返回一些选择语句以开始。我已经建立了数据库并将 AUTHORS 表添加到我的数据库中。当我使用“select * from authors;”在 sqldeveloper 中查询时,我得到了正确的结果:
AUTHORID FIRSTNAME LASTNAME
---------- -------------------- ------------------------------
1 Paul Deitel
2 Harvey Deitel
3 Abbey Deitel
4 Dan Quirk
5 Michael Morgano
我的java类是这样的:
import java.sql.*;
import java.util.Scanner;
public class Example {
public static void main(String args[]) throws
ClassNotFoundException {
try {
String dbUrl = "jdbc:oracle:thin:@localhost:1521:orcl";
String user = "SYSTEM";
String pass = "myvalidpassword";
Connection c = DriverManager.getConnection(dbUrl, user, pass);
if (c != null)
{
System.out.println("You're in your database now");
}
else {
System.out.println("Failed to make connection");
}
System.out.println("Starting queries..");
Statement myStmt = c.createStatement();
ResultSet rset = myStmt.executeQuery("select * from authors");
System.out.println(rset);
ResultSetMetaData metaData = rset.getMetaData();
int numberOfColumns = metaData.getColumnCount();
System.out.println(metaData);
System.out.println(numberOfColumns);
if (rset.next()) {
for (int i= 1; i <= numberOfColumns; i++) {
System.out.print(metaData.getColumnLabel(i) + "\t");
}
}
}
catch (SQLException e) {
e.printStackTrace();
}
}
}
我输入了很多打印语句以确保它确实连接到数据库。这些打印语句确实通过控制台:
You're in your database now
Starting queries..
oracle.jdbc.driver.ForwardOnlyResultSet@46d59067
oracle.jdbc.driver.OracleResultSetMetaData@14bdbc74
3
因此,控制台正确地看到有三列,但结果集返回了奇怪的符号和数字。我期待它回来时提供有关该表的详细信息。我已经用谷歌搜索并且似乎找不到答案,我还尝试通过转到命令行中的 SQL > 提示符并关闭我的实例来断开我的实例,以防我的 java 文件试图打开一个已经打开的连接,但这只是改变了我的实例空闲。
解决方案
推荐阅读
- rundeck - Rundeck Oracle 集成:ORA-00904:“TRUE”:标识符无效
- node.js - Dialogflow:在 Dialogflow 中使用实现库 (node.js) 设置多个上下文
- python - Pandas:根据随机采样后列表中存在的值附加所有行值
- python - 是否可以使用 pytesseract 从图像的特定部分提取文本
- c# - Fiddler 显示 404 但网站正在加载
- vue.js - vue中如何使用脚本
- python - 用户选择选项后,有什么方法可以将其链接回菜单
- reactjs - 使用@testing-library/user-event 进行测试以选择多个选项不会在“onChange”回调中发送正确的值?
- ignite - 工作窃取配置在 Apache Ignite 中不起作用
- machine-learning - 困惑的学生 ft. 机器学习