java怎么把数据库表里的内容给打印出来啊,能不能直接输出显示呢
- 问答
- 2026-01-24 17:04:05
- 4
直接告诉你,Java把数据库表里的内容打印出来是可以的,而且就是直接输出显示在控制台,这个事儿说白了就是:连上数据库,说一句“把某某表的数据给我”,然后拿到这些数据,一行一行、一列一列地把它“读”出来,再用System.out.println打印在屏幕上,下面我一步步告诉你怎么做,用的都是最直白的话。
你得准备好和数据库“打招呼”的工具,这里指的是JDBC驱动,比如你用的是MySQL,你就得有一个叫mysql-connector-java的jar包(一个Java程序包),把它放到你的项目里,这个包就像是翻译官,让Java程序能听懂MySQL数据库的话。
你就按这几步走:
第一步:和数据库建立联系 你要告诉程序数据库在哪儿、叫什么名字、用什么账号密码登录,这就像你要去朋友家,得知道地址、门牌号和钥匙,你会写这么一段代码:
String url = "jdbc:mysql://localhost:3306/你的数据库名"; String user = "你的用户名"; String password = "你的密码"; Connection connection = DriverManager.getConnection(url, user, password);
这里的localhost代表数据库在你自己的电脑上,3306是MySQL通常开门的“端口号”,执行这一句DriverManager.getConnection,如果账号密码都对,这条“连线”就接通了。
第二步:派送一个“查询指令”
连线通了,你就要发命令了,你想看哪张表,就用SQL语句SELECT * FROM 表名,在Java里这么干:

Statement statement = connection.createStatement(); String sql = "SELECT * FROM 你的表名"; ResultSet resultSet = statement.executeQuery(sql);
这里Statement对象就是个“传令兵”,executeQuery方法就是把“把表里所有数据拿给我看看”这个命令发出去,数据库返回的结果,放在一个叫ResultSet的东西里,你可以把它想象成一个临时的小表格,或者一个能一条条往下移动的指针。
第三步:把结果一条条“读”出来并打印
ResultSet刚开始指在第一条数据之前,你需要用一个while循环,让它不断指向下一条,直到没有数据为止,在循环里,你把每一行的每一列数据按位置或者列名“取”出来,比如你的表有id、name、age这三列,你可以这样:
while(resultSet.next()) {
int id = resultSet.getInt("id"); // 按列名取
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
System.out.println("ID: " + id + ", 姓名: " + name + ", 年龄: " + age);
}
resultSet.next()这个方法有两个作用:一是判断还有没有下一条数据,有就返回true,没有就false结束循环;二是把指针挪到下一条,然后你用getInt、getString这些方法,根据列的数据类型,把值取出来,赋给Java变量,最后拼成一串字打印出来,这样,控制台就会一行行显示所有数据了。
第四步:做完事要“收拾干净” 就像去朋友家做客,走的时候要关门关灯,数据库连接是很宝贵的资源,用完了必须关掉,通常按反顺序关:

resultSet.close(); statement.close(); connection.close();
最好把这些代码都放在try-catch-finally语句块里(或者用Java 7以后的try-with-resources写法),确保即使中间出错了,这些连接也能被尽力关掉,不然可能会占用资源导致以后连不上。
一个完整的简单例子看起来是这样的(假设是MySQL数据库):
import java.sql.*;
public class PrintTable {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/testdb";
String user = "root";
String password = "123456";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 1. 建立连接
conn = DriverManager.getConnection(url, user, password);
// 2. 创建Statement,发送查询
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM employee");
// 3. 遍历结果并打印
while(rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
double salary = rs.getDouble("salary");
System.out.println("员工ID: " + id + " | 姓名: " + name + " | 薪水: " + salary);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 4. 关闭资源
try {
if(rs != null) rs.close();
if(stmt != null) stmt.close();
if(conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
你运行这个程序,只要数据库、表、账号密码都对,控制台就会直接把表里所有员工的信息一行行打印出来了,这就是最直接的输出显示。
最后再啰嗦两句重要的:
- 上面的
getInt、getString这些方法,括号里也可以写数字,比如getString(1),代表取当前行第一列的值,列的顺序就是你在SELECT语句里写的顺序,用就是表里定义的顺序。 - 实际做项目的时候,为了安全(防止一种叫“SQL注入”的攻击),查数据时更推荐用
PreparedStatement,而不是上面用的Statement,但如果你只是自己在本地电脑上简单查一下看看数据,用Statement更直接一点。 - 记得一定要处理异常(
SQLException),也要记得在finally块里关闭连接,这是好习惯。
总结起来就是:加载驱动、连接数据库、执行查询语句、用循环遍历结果集、在循环里用get方法取出每一列的值、然后打印,这样,数据库表里的内容就清清楚楚地显示在你的Java控制台里了。
本文由钊智敏于2026-01-24发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://www.haoid.cn/wenda/85205.html
