Java数据库查询代码无法显示MySQL表数据问题求助
Java连接MySQL无法显示表数据的排查与解决
1. 核心问题:表中无数据
你只创建了emp表,但没有插入任何记录,ResultSet为空,所以程序没有输出内容。先执行插入语句填充数据:
INSERT INTO emp(id, name, age) VALUES(1, '张三', 25), (2, '李四', 30);
重新运行Java程序即可看到输出。
2. 优化JDBC连接参数(避免隐性问题)
MySQL 8.0+版本的JDBC连接建议指定时区,否则可能存在隐性连接异常,修改连接字符串:
Connection con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/sonoo?useSSL=false&serverTimezone=UTC", "root", "Password@123" );
3. 精准排查异常
当前代码仅打印异常信息的简单描述,替换为打印完整栈轨迹,能帮你定位潜在的隐性问题(比如字段类型不匹配、权限不足等):
catch(Exception e){ e.printStackTrace(); // 替换原有的System.out.println(e) }
4. 规范资源管理(可选)
使用try-with-resources语法自动关闭数据库资源,避免资源泄漏:
import java.sql.*; class MysqlCon{ public static void main(String args[]){ try(Connection con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/sonoo?useSSL=false&serverTimezone=UTC", "root", "Password@123"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("select * from emp")){ while(rs.next()) System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getInt(3)); }catch(Exception e){ e.printStackTrace(); } } }
内容的提问来源于stack exchange,提问作者lonewolf
相关产品推荐
相关产品推荐

