当前位置: 首页 > news >正文

Java + MySQL + Navicat Lite打印输出数据库的表信息到控制台

一、先确认你电脑有这 3 样东西

  1. Navicat Premium Lite(用来操作 MySQL)
  2. MySQL 服务(Navicat 只是可视化工具,必须装 MySQL 数据库服务)
  3. JDK(写 Java 的环境,没有先装 JDK8/JDK17)

第一步:安装 & 启动 MySQL(没有数据库一切白搭)

情况 1:没装 MySQL

去官网下载 MySQL 8.0 社区版,安装时记住:

  • 端口默认:3306
  • 用户名:root
  • 自己设一个密码,记死,后面代码要用

情况 2:装了但没启动

Windows:此电脑右键管理→服务→找到 MySQL80,右键启动。 启动成功后 Navicat 才能连上数据库。

第二步:Navicat Lite 创建数据库 + 测试表

  1. 打开 Navicat → 连接 → MySQL

    • 连接名:随便填(本地)
    • 主机名:localhost
    • 端口:3306
    • 用户:root
    • 密码:你装 MySQL 时设置的密码 点「测试连接」,显示成功再确定。
  2. 新建数据库 右键连接→新建数据库 数据库名:demo_db字符集:utf8mb4,排序规则 utf8mb4_unicode_ci → 确定

  3. 新建表 + 插入测试数据 双击打开 demo_db → 查询→新建查询,粘贴下面 SQL,点运行:

sql

-- 创建用户表 CREATE TABLE user( id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键id', username VARCHAR(30) COMMENT '用户名', age INT COMMENT '年龄' ); -- 添加2条测试数据 INSERT INTO user(username,age) VALUES ('小明',16), ('小红',17);

运行无报错,表就建好了。

第三步:下载 MySQL 驱动 jar 包(Java 连接数据库核心)

Java 本身不认 MySQL,需要驱动:mysql-connector-j-8.0.36.jar

  1. 百度搜索:mysql connector j 8.0 下载
  2. 下载 ZIP 解压,拿出里面.jar文件,放到你的 Java 项目文件夹里。

第四步:新建纯 Java 项目(两种方式,任选其一)

方式 A:记事本 + 命令行(最简单,不用 IDE)

  1. 桌面新建文件夹JdbcTest
  2. 把下载好的mysql-connector-j-8.0.36.jar丢进去
  3. 在文件夹里新建文本文档,改名TestDB.java(注意后缀从.txt 改成.java)

打开 TestDB.java,粘贴完整代码:

java

运行

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; public class TestDB { public static void main(String[] args) { // ==================== 这里改成你自己的信息 ==================== String url = "jdbc:mysql://localhost:3306/demo_db?useSSL=false&serverTimezone=Asia/Shanghai"; String user = "root"; // MySQL账号 String pwd = "你自己的MySQL密码"; // 替换成你的密码 // ========================================================== Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 1.加载驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 2.获取连接 conn = DriverManager.getConnection(url, user, pwd); System.out.println("✅ 数据库连接成功!"); // 3.查询user表 stmt = conn.createStatement(); String sql = "select * from user"; rs = stmt.executeQuery(sql); // 打印表结构(字段名、类型) ResultSetMetaData meta = rs.getMetaData(); int colNum = meta.getColumnCount(); System.out.println("\n===== 数据表结构信息 ====="); for(int i=1;i<=colNum;i++){ System.out.println("字段"+i+":"+meta.getColumnName(i)+" | 类型:"+meta.getColumnTypeName(i)); } // 打印表中所有数据 System.out.println("\n===== 表内数据 ====="); while(rs.next()){ int id = rs.getInt("id"); String name = rs.getString("username"); int age = rs.getInt("age"); System.out.println("id:"+id+" 姓名:"+name+" 年龄:"+age); } } catch (ClassNotFoundException e) { System.out.println("❌ 找不到驱动jar包!"); } catch (SQLException e) { System.out.println("❌ 数据库连接失败,检查密码、库名、MySQL服务是否开启"); e.printStackTrace(); } finally { // 关闭资源 try { if(rs!=null) rs.close(); if(stmt!=null) stmt.close(); if(conn!=null) conn.close(); System.out.println("\n🔌 连接已关闭"); } catch (SQLException e) { e.printStackTrace(); } } } }

修改代码关键一步

找到String pwd = "你自己的MySQL密码";双引号里替换成你安装 MySQL 设置的密码。

第五步:编译运行(cmd 命令)

  1. 打开 cmd,cd 到你的文件夹 例:

plaintext

cd C:\Users\你的用户名\Desktop\JdbcTest
  1. 编译代码(把 jar 包一起带上)

plaintext

javac -cp mysql-connector-j-8.0.36.jar TestDB.java

执行完文件夹会多出 TestDB.class 文件。

  1. 运行程序

plaintext

java -cp ".;mysql-connector-j-8.0.36.jar" TestDB

成功输出示例

plaintext

✅ 数据库连接成功! ===== 数据表结构信息 ===== 字段1:id | 类型:INT 字段2:username | 类型:VARCHAR 字段3:age | 类型:INT ===== 表内数据 ===== id:1 姓名:小明 年龄:16 id:2 姓名:小红 年龄:17 🔌 连接已关闭
http://www.jsqmd.com/news/1072721/

相关文章:

  • 19-线程上下文传播:异步执行为什么容易丢 Trace
  • 基于 Harmony 7.0 应用的滤镜实验室应用首页实现
  • 第七次作业:三层架构IOCDI和mybatis入门
  • TVA在机电产品视觉检测的创新应用(11)
  • 影刀RPA新手速成:7天从零到独立开发自动化流程
  • 无人机三模态视觉融合:RGB、热成像与事件相机的全天候感知方案
  • 告别AI幻觉!WHartTest PE版7大核心升级,让智能测试更懂你
  • 最便宜稳定 GPT5.5 大模型中转平台
  • 手游 BGP 边缘分发部署实战:三网联机延迟优化与 UDP 异常流量过滤配置方案
  • 2026年6月适合个体户的5大微信小程序制作工具
  • 2 建立连接
  • LIVE项目解析:基于图像先验与时间一致性的AI视频编辑技术
  • 高股息投资笔记-股票的人性2
  • MacBook的实用小技巧
  • 华为OD机试真题-预测新能源发电量(C/C++/Py/Java/Js/Go)
  • 企业低价使用 GPT5.5 API 解决方案
  • 量子计算与分子模拟在药物设计中的革命性突破
  • 自动驾驶高清地图向量化实验中的常见评价指标解析
  • 极小超曲面与Yau猜想:对称流形中的无限存在性定理
  • 2026新能源下乡155款车型全拆解:从625亿国补到铁锂涨价,全产业链机会地图
  • 知名做PE自封袋的厂家
  • 基于 Harmony 7.0 应用的信用卡管理应用首页实现
  • 研发与业务协同工具怎么选?2026 主流团队云存储架构深度横评与避坑指南
  • [崛起]大国纪录片系列合集
  • AI如何从视频中学习物理规律:从视觉真实到物理有效的跨越
  • 东南亚多人手游区域 CDN 调优实战:新加坡、曼谷本地边缘节点降低联机延迟、过滤 UDP 异常流量
  • 基于参考感知比较建模的AIGC视频质量评估方法(RefVQA)详解
  • 状态 / 类型定义 策略模式 统一返回码
  • Vite vs Webpack 深度对比:从启动原理到生产构建,一篇就够了
  • 视觉语言模型中的熵梯度证据定位技术解析