【Mybatis-Plus学习笔记(九)】通用Service
本系列博客其他文章请点击下方链接查看
【Mybatis-Plus学习笔记】目录
基本方法
通用Service可以直接在Control层操作Service实体来实现增删改查,太方便了!用来应付领导和产品经历变幻莫测的需求,简直不要不要的。
第一步:创建如下文件
public interface UserService extends IService<User> {
}
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
第二步:调用方法
很多方法都和BaseMapper使用方法相同。
视频的作者着重讲解了getOne函数,因为这个和BaseMapper中的selectOne还是有差距的。
User user = userService.getOne(Wrappers.<User>lambdaQuery().gt(User::getAge, 25));
直接调用,查找出多个数据会报错。如果在getOne的参数中传入false,才能实现多个取第一个。如下:
User user = userService.getOne(Wrappers.<User>lambdaQuery().gt(User::getAge, 25),false);
批量操作方法
saveOrUpdateBatch()和saveBatch()就是批量插入。传入两个参数,一个是操作的List,一个是插入数量限制(可选)。如果没有设置插入数量,就是默认1000个。如何过程不报错,返回ture。
User user = new User();
user.setName("王一难");
user.setAge(35);
user.setEmail("wwn@baomidou.com");
user.setManagerId(1088248166370832385L);
user.setCreateTime(new Date());
User user1 = new User();
user1.setName("王二难");
user1.setAge(35);
user1.setEmail("wwn@baomidou.com");
user1.setManagerId(1088248166370832385L);
user1.setCreateTime(new Date());
List<User> userList = Arrays.asList(user, user1);
boolean insertFlag = userService.saveBatch(userList);
链式调用方法
List<User> userList = userService.lambdaQuery().eq(User::getName, "李艺伟").eq(User::getAge, 28).list();
比BaseMapper的更加好用, 因为做了封装。
除了lambdaQuery还可以调用lambdaUpdate。值得一提的是lambdaUpdate的构造器可以调用remove方法进行删除。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· SQL Server 内存占用高分析
· 盘点!HelloGitHub 年度热门开源项目
· DeepSeek V3 两周使用总结
· 02现代计算机视觉入门之:什么是视频
· C#使用yield关键字提升迭代性能与效率
· 回顾我的软件开发经历(1)