news 2026/4/18 8:30:23

java对数据库的增删改查

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
java对数据库的增删改查

查询步骤

1.准备连接数据库需要的变量 (库名称,库用户名,库密码) 2.提前写好查询数据库的命令 3.声明一个存参数的list 4.连接数据库(创建连接,准备指令,连接) 5.拿到容器,循环容器拿到内容 6.把内容发给前端

1. 建立数据库连接

需要知道数据库名称,用户名,密码

// 1. 配置连接信息(必须改成你自己的) String url = "jdbc:mysql://localhost:3306/你的数据库名?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true"; String user = "root"; String password = "你的MySQL密码";

2. 提前写好数据库命令(编写 SQL 查询语句)

String sql = "SELECT id,name FROM user";

3. 声明一个存参数的list

List<Map<String, Object>> list = new ArrayList<>();

4. 连接数据库预编译SQL=创建 PreparedStatement 对象)

创建数据库连接 接水管 Connection conn = DriverManager.getConnection(url, user, password); // 创建预处理语句(准备一下) PreparedStatement ps = conn.prepareStatement(sql); // 执行查询并获取结果(开水龙头、接水) ResultSet rs = ps.executeQuery()

注:rs打印出来是容器,不是数据库具体内容,要内容只能循环。

5. 循环容器拿到内容

while (rs.next()) { Map<String, Object> obj = new HashMap<>(); obj.put("id", rs.getInt("id")); obj.put("name", rs.getString("name")); list.add(obj); } // 打印给前端的数组对象格式 System.out.println("发给前端的数据:"); System.out.println(list);

6. 把数据发给前端

等我后面添加,感觉有点麻烦。休息休息

整体代码

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class TestQuery { public static void main(String[] args) { // -------定义连接数据库需要的变量------- String url = "jdbc:mysql://localhost:3306/userlist?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true"; String user = "root"; String password = "123456"; // 先从表中,拿到数据 String sql = "SELECT id,name FROM user"; // 【关键】list 必须声明在 try 外面,保证作用域正确 // 1.List 声明这是一个有序列表 // 2.<Map<String, Object>> 定义列表的元素是键值对组合的对象 // 3.这个数组包对象的组合叫做list // 4.new ArrayList<>();创建一个空的、真实可用的列表,里面专门存放你左边规定的那种键值对数据。 // 123部分属于规定,4才是创建 List<Map<String, Object>> list = new ArrayList<>(); try ( // 创建数据库连接 接水管 Connection conn = DriverManager.getConnection(url, user, password); // 创建预处理语句(装水龙头 / 准备指令) PreparedStatement ps = conn.prepareStatement(sql); // 执行查询并获取结果(开水龙头、接水) ResultSet rs = ps.executeQuery() ) { // 打印的rs只是容器,并没有具体内容,要拿到数据库所有内容,只能循环 System.out.println(rs); while (rs.next()) { Map<String, Object> obj = new HashMap<>(); obj.put("id", rs.getInt("id")); obj.put("name", rs.getString("name")); list.add(obj); } // 打印给前端的数组对象格式 System.out.println("发给前端的数据:"); System.out.println(list); } catch (Exception e) { e.printStackTrace(); } } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 8:29:43

Agent Skill 设计指南:从“能聊天”到“能干活”的工程化路径

Agent Skill 设计指南&#xff1a;从“能聊天”到“能干活”的工程化路径本文路线基于主流 Agent 框架与生产级项目经验总结&#xff0c;聚焦“可复用、可评估、可监控”。 ⚠️ 声明&#xff1a;本文提供工程方法论与标准化模板&#xff0c;不提供代写/代开发/黑盒交付服务。技…

作者头像 李华
网站建设 2026/4/18 8:28:22

Element UI el-upload 多文件上传 on-success 回调触发机制深度解析与实战优化

1. 多文件上传的常见痛点与 el-upload 行为解析 在实际开发中&#xff0c;文件上传功能几乎是每个Web应用都绕不开的需求。Element UI的el-upload组件因其开箱即用的特性&#xff0c;成为很多Vue开发者的首选。但当你需要处理多文件上传时&#xff0c;可能会遇到一个让人困惑的…

作者头像 李华
网站建设 2026/4/18 8:26:32

EcoSentinel 项目总描述

EcoSentinel&#xff1a;基于 LDA 与 LLM 的电商评论智能分析平台一、我对项目的整体理解EcoSentinel 不是做个花里胡哨的图表展示系统&#xff0c;而是真的帮中小电商商家解决实际问题。商家评论量很大&#xff0c;但很难快速从里面提炼出能直接用的运营建议。现在很多商家还只…

作者头像 李华
网站建设 2026/4/18 8:26:24

2026.4.16:在内网环境下,uv下载的python库如何迁移到内网?

在内网环境下,uv下载的python库如何迁移到内网? 下载离线的uv包 https://github.com/astral-sh/uv/releases 导出依赖到requirements.txt uv export --format requirements.txt -o requirements.txt --no-hashes然后根据requirements.txt下载wheel uv run pip download…

作者头像 李华