使用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
相关推荐
考虑考虑3 小时前
数据库中的EXISTS
运维·数据库·后端
Wang's Blog3 小时前
Java框架快速入门: Spring Security+OAuth2之数据库和实体类的RBAC改造
java·数据库·spring
梦想平凡4 小时前
百游棋牌源代码开发搭建教程(十):隔离部署、备份恢复与双端验收
java·前端·javascript·数据库·源代码管理
xcLeigh5 小时前
让大模型长出手脚,自己写SQL查数据库(Function Calling初探)
数据库·人工智能·sql·时序数据库·timechoai
yume_sibai5 小时前
06-Rust Web 开发实战(Axum 框架 + 数据库 + JWT 认证 + 中间件 + 部署)
前端·数据库·rust
AugustRed6 小时前
Neo4j 图数据库原理 + 应用场景简单介绍
数据库·neo4j
Gl�ria7 小时前
Redis 高可用架构对比
数据库·redis
IpdataCloud7 小时前
高可用的IP数据接口平台有哪些?从可用性、P99延迟到离线部署的评估框架(含代码)
数据库·tcp/ip·ip
呆萌很7 小时前
MySQL 数据库和表的管理操作(命令行)
数据库·mysql
IvorySQL8 小时前
当PostgreSQL“听懂”MySQL——协议兼容层的设计与实战
数据库·人工智能·postgresql