news 2026/10/8 2:08:00

SpringCloud微服务---MybatisPlus

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SpringCloud微服务---MybatisPlus

微服务是一种软件架构风格,它是以专注于单一职责的很多小型项目为基础,组合出复杂的大型应用。

快速入门

入门案例

需求:基于课前资料提供的项目,实现下列功能:

  1. 新增用户功能
  2. 根据id查询用户
  3. 根据id批量查询用户
  4. 根据id更新用户
  5. 根据id删除用户

1.引入MybatisPlus的起步依赖

MyBatisPlus官方提供了starter,其中集成了Mybatis和MybatisPlus的所有功能,并且实现了自动装配效果。

因此我们可以用MybatisPlus的starter代替Mybatis的starter:

2.定义Mapper

自定义的Mapper继承MybatisPlus提供的BaseMapper接口:

1.继承MybatisPlus

public interface UserMapper extends BaseMapper<User> { // void saveUser(User user); // // void deleteUser(Long id); // // void updateUser(User user); // // User queryUserById(@Param("id") Long id); // // List<User> queryUserByIds(@Param("ids") List<Long> ids); }

2.测试增删改查

package com.itheima.mp.mapper; import com.itheima.mp.domain.po.User; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.time.LocalDateTime; import java.util.List; @SpringBootTest class UserMapperTest { @Autowired private UserMapper userMapper; @Test void testInsert() { User user = new User(); user.setId(5L); user.setUsername("Lucy"); user.setPassword("123"); user.setPhone("18688990011"); user.setBalance(200); user.setInfo("{\"age\": 24, \"intro\": \"英文老师\", \"gender\": \"female\"}"); user.setCreateTime(LocalDateTime.now()); user.setUpdateTime(LocalDateTime.now()); // userMapper.saveUser(user); userMapper.insert(user); } @Test void testSelectById() { // User user = userMapper.queryUserById(5L); User user = userMapper.selectById(5L); System.out.println("user = " + user); } @Test void testQueryByIds() { // List<User> users = userMapper.queryUserByIds(List.of(1L, 2L, 3L, 4L)); List<User> users = userMapper.selectBatchIds(List.of(1L, 2L, 3L, 4L)); users.forEach(System.out::println); } @Test void testUpdateById() { User user = new User(); user.setId(5L); user.setBalance(20000); // userMapper.updateUser(user); userMapper.updateById(user); } @Test void testDeleteUser() { // userMapper.deleteUser(5L); userMapper.deleteById(5L); } }

常见注解

常见配置

核心功能

扩展功能

插件功能

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/8 2:07:42

AI脚本怎么变成可用工具?任务边界、输入输出与最小产品架构

一段脚本在开发者电脑上跑通&#xff0c;往往只说明“这一次输入能得到一个结果”。它还没有回答普通使用者真正会遇到的问题&#xff1a;上传的是哪一份文件、同一次点击会不会重复执行、关闭页面后任务是否还在、失败的原因能不能看懂、最终下载的结果能不能证明来自这次输入…

作者头像 李华
网站建设 2026/10/8 2:07:27

驾驶员疲劳检测毕设实战:轻量双流CNN+状态机预警

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/8 2:06:02

AI编程工具默认上传工作区?一份数据信任审计清单帮你把关

AI编程工具数据信任审计&#xff1a;当默认上传工作区超出用户预期&#xff0c;开发者如何自保&#xff1f;摘要&#xff1a;AI编程工具在后台默认上传整个工作区、隐私开关失效、隐私政策主体不一致——当数据上传超出用户信任预期&#xff0c;开发者该如何自保&#xff1f;本…

作者头像 李华
网站建设 2026/10/8 2:05:56

YOLOv8实战:工地安全帽佩戴检测系统从训练到部署

项目标题: "基于YOLOv8的工地安全帽佩戴检测系统"项目正文: 用YOLOv8训练了一个安全帽检测模型&#xff0c;用来做工地实时监控&#xff0c;识别工人有没有戴安全帽。数据集是自己标注的&#xff0c;主要是工地场景的图片。训练完导出成ONNX&#xff0c;部署到Jetson…

作者头像 李华
网站建设 2026/10/8 2:05:55

Java UDP可靠通讯源码解析:从DataPacket到重传机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/8 2:05:29

Token 消耗半年涨10倍?AI Agent 成本优化与产业链重构实战指南

各位开发者朋友&#xff0c;最近在技术圈和创投圈里&#xff0c;有一则观点被反复讨论——某投资机构合伙人在分享中提到&#xff0c;“Token 消耗半年涨了 10 倍&#xff0c;AI 创业机会正出现在产业链重构之中”。作为一个长期跟进大模型应用开发的博主&#xff0c;我第一反应…

作者头像 李华