java对数据库的增删改查

查询步骤

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

1. 建立数据库连接

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

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

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

java 复制代码
String sql = "SELECT id,name FROM user";

3. 声明一个存参数的list

java 复制代码
 List<Map<String, Object>> list = new ArrayList<>();

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

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

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

5. 循环容器拿到内容

java 复制代码
  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. 把数据发给前端

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

整体代码

java 复制代码
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();
        }
    }
}
相关推荐
CoderYanger8 小时前
Java EE 进阶:8.MyBatis 操作数据库(入门)(第二弹)
java·数据库·spring boot·spring·面试·java-ee·mybatis
CQU_JIAKE11 小时前
11.7[高体】
java·后端·spring
wafrdggh11 小时前
2026电商快递批量查询怎么用?固乔助手模板设置评测
大数据·数据库·小程序
一个天蝎座 白勺 程序猿12 小时前
KingbaseES数据库归档重做日志文件管理:从配置到运维的实战指南
运维·数据库·oracle·kingbasees·金仓数据库
apcipot_rain12 小时前
C++转Java日记(04)
java·开发语言·c++
特立独行的猫A12 小时前
我给女儿写了个打字练习:一边敲键盘,一边把小学英语单词记牢
java·后端·python
憧憬成为java架构高手的小白14 小时前
LangGraph4j 实战(下)
java
天诰14 小时前
SA-K-11 检索会消失吗与四个未解问题
java·服务器·人工智能·python·机器学习·ai编程
龙腾AI白云15 小时前
仿真到现实(Sim-to-Real)迁移:跨越仿真与现实鸿沟
数据库·机器学习·plotly·知识图谱·tornado
freejackman17 小时前
【实战二】字段级血缘追踪:拆解 AST 迷局,精准穿透函数链与子查询
大数据·数据库·sql