java - 打印结果集不显示所有行
问题描述
我有一些代码行
Class.forName("com.mysql.cj.jdbc.Driver");
connect = DriverManager
.getConnection("jdbc:mysql://localhost/"+Contant.DB_NAME+"?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&"
+ "user="+Contant.MYSQL_USER+"&password="+Contant.MYSQL_PASS);
statement = connect.createStatement();
preparedStatement = connect.prepareStatement("select * from history where status = 0");
re = preparedStatement.executeQuery();
while (re.next()) {
System.out.print("uid__"+re.getString("uid"));
}
在我的数据库中,我有 2 行满足条件status = 0
。
执行System.out.print("uid__"+re.getString("uid"));
时只显示一行。我究竟做错了什么?
解决方案
默认情况下,PrintWriter
分配给System.out
是缓冲的,这意味着如果它的缓冲区已满,或者如果添加了带有换行符的内容,它将收集字符并刷新它们。
当您使用System.out.print
时,没有换行符。为了让您的打印显示,您需要打印更多以便缓冲区已满,或者您需要使用System.out.println("uid__"+re.getString("uid"));
(所以每个 uid 都在自己的行上,并自动刷新),或者 - 在循环之后 - 添加一个System.out.println();
(这将刷新自动)或System.out.flush()
(显式刷新)。
推荐阅读
- python - 由于某些原因。与 x 轴上的瓷砖碰撞后,滚动变得混乱。从y轴滚动很好
- mysql - 按月(发行月份)显示现有年份和过去年份股票数据的数据
- python - 如果它包含负值,熊猫将删除整行
- javascript - Html画布视频流
- android - 使用 X 国家/地区翻译的 Android 格式日期
- python - 如何存储用户数据并根据其对应的回调显示
- javascript - 本地图像未在 React 的画布中加载
- directed-acyclic-graphs - 有没有办法在 O(|E|) 时间内找到 DAG 中的最大瓶颈路径?
- visual-studio-code - 如何通过 VSCode 扩展安装附加依赖项
- fonts - 如何使用所有连字复制参考