尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Java数据库操作:JDBC入门5步走

Java数据库操作:JDBC入门5步走
📅 发布时间:2026/6/18 6:47:34

一、JDBC到底是个啥?

咱们先别被“Java Database Connectivity”这个长名字吓到,其实核心特简单:

咱们写Java代码的时候,想操作MySQL、Oracle这些数据库(比如存学生信息、查成绩),但Java和数据库是两个不同的“软件”,它们俩没法直接聊天。这时候JDBC就登场了——它是Java官方提供的一套“翻译+桥梁”工具,能让Java代码和数据库之间顺畅沟通。

举个通俗的例子:你(Java代码)想跟一个外国人(数据库)交流,你不会说外语,他也不懂中文。JDBC就是那个翻译官,你说中文(Java语法),翻译官翻译成外语(数据库能懂的SQL语句),外国人的回复(查询结果)也靠翻译官转成你能懂的Java数据(比如List、对象)。

这里要注意:JDBC只是一套“规则”(接口),不是具体的翻译官。真正干活的是“驱动程序”——比如你用MySQL,就需要MySQL的驱动;用Oracle就需要Oracle的驱动。就像去美国要找会英语的翻译,去日本要找会日语的,驱动就是对应语种的翻译官。

二、入门必看:JDBC核心步骤(附简化代码)

学JDBC不用一开始就死记硬背所有细节,先把核心的5个步骤搞懂,就能写出基本的数据库操作代码。我以“查询学生表(student)数据”为例,一步一步拆解开,每个步骤都标了注释,看不懂算我输!

第一步:准备工作——导入驱动包

就像找翻译官之前得先联系好他一样,我们要先把驱动包导入到项目里。现在主流的IDE是IDEA,最方便的方式是用Maven,直接在pom.xml里加一行依赖,Maven会自动下载驱动包:

<!-- MySQL 8.0+的驱动依赖,复制到pom.xml的dependencies标签里 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.33</version> </dependency>

如果不用Maven,就去MySQL官网下载驱动jar包,然后手动添加到项目的lib目录里,记得右键“Add as Library”

第二步:编写代码——核心5步走

import java.sql.*; public class JdbcDemo { public static void main(String[] args) { // 1. 定义数据库连接信息(这3行是关键,根据自己的数据库改!) String url = "jdbc:mysql://localhost:3306/你的数据库名?useSSL=false&serverTimezone=Asia/Shanghai"; String username = "root"; // 数据库用户名,默认一般是root String password = "你的数据库密码"; // 你安装MySQL时设置的密码 // 2. 声明需要的对象(Connection是连接,Statement是执行SQL的工具,ResultSet是查询结果) Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 3. 建立连接(相当于找到翻译官,打通沟通渠道) conn = DriverManager.getConnection(url, username, password); System.out.println("连接成功!"); // 4. 执行SQL查询(用Statement对象执行SQL语句,这里查student表所有数据) stmt = conn.createStatement(); String sql = "SELECT * FROM student"; // 要执行的SQL语句 rs = stmt.executeQuery(sql); // 执行查询,结果存在rs里 // 5. 处理查询结果(遍历rs,把数据取出来) while (rs.next()) { // rs.next():判断有没有下一条数据 int id = rs.getInt("id"); // 取id列的值(int类型) String name = rs.getString("name"); // 取name列的值(String类型) int age = rs.getInt("age"); // 取age列的值 System.out.println("学号:" + id + ",姓名:" + name + ",年龄:" + age); } } catch (SQLException e) { // 捕获异常(比如密码错了、数据库名错了,都会在这里报错) e.printStackTrace(); } finally { // 6. 关闭资源(非常重要!用完要关掉,不然会占内存) try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }

三、关键细节拆解(新手最容易踩坑的地方)

1. URL参数别写错!

URL的格式是:jdbc:mysql://主机名:端口号/数据库名?参数1&参数2

  • 主机名:本地数据库就是localhost(如果是远程数据库,写服务器IP)

  • 端口号:MySQL默认是3306,安装时没改就用这个

  • 参数说明:useSSL=false(关闭SSL,不然可能会有警告);serverTimezone=Asia/Shanghai(设置时区为上海,不然会报时区错误,新手必踩!)

2. 资源一定要关闭!

Connection、Statement、ResultSet这三个对象,用完必须关闭,而且要按“ResultSet → Statement → Connection”的顺序关(先关结果,再关执行工具,最后关连接)。放在finally里是因为不管代码有没有报错,finally里的代码都会执行,保证资源能释放。

3. 不同操作用不同的执行方法

我上面用的是executeQuery(),这是专门执行“查询语句”(SELECT)的;如果是执行“增删改”(INSERT、DELETE、UPDATE),要用executeUpdate(),它会返回受影响的行数(比如插入1条数据,就返回1):

// 示例:插入一条学生数据 String insertSql = "INSERT INTO student(name, age) VALUES('张三', 20)"; int rows = stmt.executeUpdate(insertSql); System.out.println("插入了" + rows + "条数据");

四、总结一下

JDBC其实就是Java操作数据库的“桥梁”,核心步骤就5个:导入驱动→建立连接→执行SQL→处理结果→关闭资源。新手不用一开始就追求高深的知识,先把基础步骤练熟,写几个增删改查的例子,慢慢就能理解背后的逻辑了。

我刚开始练的时候,经常因为URL写错、密码输错、忘记关闭资源报错,多试几次、多查几次错误信息就好了。编程这东西,光看没用,一定要动手写!

相关新闻

  • Java毕设项目:基于JavaWeb的点餐系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • Java毕设项目:基于SpringBoot+Vue的高校志愿活动管理系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • Chap24-Reconnect-LockPrecisionOptimization-AvatarEditBox

最新新闻

  • 2026 安徽哪所学校护理升学强?5大高升学率中职招生名单 - 小途xt
  • NXP DPAA硬件加速实战:报文头操作与CAAM加密引擎配置详解
  • 2026年论文写作AI工具怎么用?豆包等工具详细使用教程 - 掌桥科研-AI论文写作
  • 2026滁州家长注意!离南京这么近,孩子学建筑去这所公办中职,比在南京打工强 - 我叫小周
  • 50行Python实现人脸检测:OpenCV+Haar级联原理与实战
  • 2026重庆高端珠宝首饰回收排行 权威鉴定实测靠谱商家榜单 - 名奢变现站

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号