【Java】如何使用jdbc连接并操作MySQL,一文读

【Java】如何使用JDBC连接并操作MySQL,一文读懂!🚀

JDBC(JavaDatabaseConnectivity)是Java语言中用来规范客户端程序如何访问数据库的API,今天我们就来学习如何使用JDBC连接并操作MySQL数据库!💡

1.准备工作🛠️

首先,确保你已经:
-安装好MySQL数据库
-下载了MySQL的JDBC驱动(mysql-connector-java.jar)
-创建好要操作的数据库和表

2.连接MySQL数据库🔌

```java
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.SQLException;

publicclassJdbcDemo{
publicstaticvoidmain(String[]args){
//数据库连接信息
Stringurl="jdbc:mysql://localhost:3306/你的数据库名";
Stringusername="你的用户名";
Stringpassword="你的密码";

try{
//1.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");

//2.获取连接
Connectionconn=DriverManager.getConnection(url,username,password);
System.out.println("数据库连接成功!🎉");

//3.记得关闭连接
conn.close();
}catch(ClassNotFoundException|SQLExceptione){
e.printStackTrace();
}
}
}
```

3.执行SQL操作📝

查询数据🔍
```java
Statementstmt=conn.createStatement();
ResultSetrs=stmt.executeQuery("SELECTFROMusers");

while(rs.next()){
System.out.println("ID:"+rs.getInt("id")+
",姓名:"+rs.getString("name"));
}
rs.close();
stmt.close();
```

插入数据➕
```java
Stringsql="INSERTINTOusers(name,age)VALUES(?,?)";
PreparedStatementpstmt=conn.prepareStatement(sql);
pstmt.setString(1,"张三");
pstmt.setInt(2,25);
introws=pstmt.executeUpdate();
System.out.println("插入了"+rows+"行数据!👍");
pstmt.close();
```

更新数据🔄
```java
Stringsql="UPDATEusersSETage=?WHEREname=?";
PreparedStatementpstmt=conn.prepareStatement(sql);
pstmt.setInt(1,30);
pstmt.setString(2,"张三");
pstmt.executeUpdate();
pstmt.close();
```

4.异常处理与资源释放⚠️

记得使用try-with-resources自动关闭资源:
```java
try(Connectionconn=DriverManager.getConnection(url,username,password);
Statementstmt=conn.createStatement()){
//执行SQL操作
}catch(SQLExceptione){
e.printStackTrace();
}
```

总结📚

通过JDBC连接MySQL只需简单几步:
1.加载驱动
2.获取连接
3.执行SQL
4.处理结果
5.关闭连接

掌握了这些基础操作,你就可以在Java中轻松操作MySQL数据库啦!💪记得在实际开发中使用连接池(如HikariCP)来提高性能哦!✨

相关推荐
一 乐1 小时前
婚纱摄影网站|基于ssm + vue婚纱摄影网站系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot·后端
Boilermaker19921 小时前
[Java 并发编程] Synchronized 锁升级
java·开发语言
Cherry的跨界思维1 小时前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
alonewolf_992 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
一嘴一个橘子2 小时前
spring-aop 的 基础使用(啥是增强类、切点、切面)- 2
java
码事漫谈2 小时前
Protocol Buffers 编码原理深度解析
后端
sheji34162 小时前
【开题答辩全过程】以 中医药文化科普系统为例,包含答辩的问题和答案
java
码事漫谈2 小时前
gRPC源码剖析:高性能RPC的实现原理与工程实践
后端
恋爱绝缘体13 小时前
2020重学C++重构你的C++知识体系
java·开发语言·c++·算法·junit
wszy18093 小时前
新文章标签:让用户一眼发现最新内容
java·python·harmonyos