使用SpringBoot+MyBatis+MySQL完成后端的数据库增删改查(CRUD)操作

文章目录


执行流程

前端/Postman发请求 → Controller接收请求 → Service处理业务 → Dao访问数据库 → MyBatis的XML执行SQL → 返回结果
Controller 接请求,Service 处理业务,Dao 调 SQL,XML 操作数据库,Entity 封装数据。

每一层到底负责什么?

Entity层

Dao层(包含两个文件)


Service层(包含两个文件)

Service 是业务层,主要负责:

复制代码
调用 Dao
处理业务逻辑
决定返回什么结果



Controller层

Controller 负责接收 HTTP 请求。

每一层在 CRUD 中是怎么协作的

我们拿"查询 id=1 的用户"为例。

第一步:Postman 发请求

第二步:Controller 接收

第三步:Service 调用 Dao

第四步:Dao 找到 XML 中同名 SQL

第五步:返回 JSON 给前端/Postman

CRUD各接口到底该怎么用?

查询单个用户

查出 mall_user 表里 id=1 的数据。

复制代码
http://localhost:8080/mallUser/1


新增用户

复制代码
http://localhost:8080/mallUser


修改用户

修改 id=1 的这条记录,把用户名改成"李四",地址改成"shanghai"。

复制代码
http://localhost:8080/mallUser


删除用户

复制代码
http://localhost:8080/mallUser?id=1


CRUD的本质

补一个"查询所有用户"接口

Dao

java 复制代码
List<MallUser> queryAll();

XML

xml 复制代码
<select id="queryAll" resultMap="MallUserMap">
    select id, user_id, user_name, user_gender, user_address, user_birthday, user_phone, create_time, update_time
    from mall_user
</select>

Service

java 复制代码
List<MallUser> queryAll();

ServiceImpl

java 复制代码
@Override
public List<MallUser> queryAll() {
    return this.mallUserDao.queryAll();
}

Controller

java 复制代码
@GetMapping
public ResponseEntity<List<MallUser>> queryAll() {
    return ResponseEntity.ok(this.mallUserService.queryAll());
}

测试

复制代码
http://localhost:8080/mallUser
相关推荐
AI-好学者1 小时前
阶段一-图数据库基础与PropertyGraph模型
数据库·rag·knowledge graph·graphrag
其实防守也摸鱼2 小时前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
懒鸟一枚3 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
龙仔7253 小时前
SQL Server 创建只读账号完整操作(分两种场景:SSMS图形界面 + T-SQL脚本)
数据库·sql·oracle
霁月的小屋3 小时前
生产环境中的事务实践——银行系统上线记(四)
数据库
Database_Cool_3 小时前
AI 应用数据底座首选:阿里云 PolarDB 为大模型 RAG 提供一体化支撑
数据库·阿里云
玖玥拾4 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
碎碎念_4924 小时前
SpringBoot + Vue 前后端分离从 0 到 1 完整环境配置流程
vue.js·spring boot·后端
IvorySQL5 小时前
PG 日报|社区讨论重构 pg_hba 配置文件格式
数据库·人工智能·postgresql·重构·ivorysql
逝水无殇5 小时前
C# 文件的输入与输出详解
开发语言·数据库·后端·c#