当前位置: 首页 > 编程笔记 >

MyBatis-Plus 通用IService使用详解

孔梓
2023-03-14
本文向大家介绍MyBatis-Plus 通用IService使用详解,包括了MyBatis-Plus 通用IService使用详解的使用技巧和注意事项,需要的朋友参考一下

一、引言

MP除了通用的Mapper还是通用的Servcie层,这也减少了相对应的代码工作量,把通用的接口提取到公共。其实按照MP的这种思想,可以自己也实现一些通用的Controller。

今天是周天,作为一名码农来说,这里小编提醒大家周末有空还是多出去运动一下。

生命在于运动,生命诚可贵。

二、 小编瞎扯

相信有和小编一样的朋友,在大城市独自漂泊,感觉就凭借自己内心那一点点的火苗,想要燃烧起来。

小编在上海这些年,不慌也不忙,从开始每天厌恶工作,到现在开开心心的上班,回顾自己的成长除了存款,其他倒是成长了不少。在今年小编做了自己很多想做的事,虽然钱花了,但是感觉完成了多年自己的心愿,还是很有成就感的。

所以各位程序员的小伙伴,好好享受生活、多和家人联系沟通,过好每一天。

这一段和本章没有任何关系。

三、IService使用

service层需要继承IService,当然实现层也要继承对应的实现类。

/**
 * <p>
 * 用户 服务类
 * </p>
 *
 * @author IT贱男
 * @since 2019-06-14
 */
public interface UserService extends IService<User> {

}

/**
 * <p>
 * 用户 服务实现类
 * </p>
 *
 * @author IT贱男
 * @since 2019-06-14
 */
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

}

这里小编基本的增删改查就不一一演示了,演示几个特殊一点的方法。

getOne(),这个是方法返回结果不止一条则会抛出异常,如果想默认取第一条结果,可以给这方法传第二个参数为false。

 @Test
 public void getOne() {
  User one = userService.getOne(Wrappers.<User>lambdaQuery().eq(User::getAge, 31),false);
  System.out.println(one);
 }

saveOrUpdateBatch(),批量新增或者修改方法,判断ID是否存在,如果ID不存在执行新增,如果ID存在先执行查询语句,查询结果为空新增,否则修改。

 @Test
 public void saveOrUpdateBatch() {
  User user1 = new User();
  user1.setName("兔子");
  user1.setAge(18);

  User user2 = new User();
  user2.setId(1088250446457389060L);
  user2.setName("乌龟");
  user2.setAge(18);

  List<User> users = Arrays.asList(user1, user2);

  boolean b = userService.saveOrUpdateBatch(users);
  System.out.println(b);
 }

接下来说一下基于lambda的相关操作

 /**
  * lombda查询
  */
 @Test
 public void lambdaQuery(){
  List<User> list = userService.lambdaQuery().eq(User::getAge, 18).list();
  list.forEach(System.out::println);
 }

 /**
  * lombda修改
  */
 @Test
 public void lambdaUpdate(){
  boolean update = userService.lambdaUpdate().eq(User::getAge, 18).set(User::getAge, 31).update();
  System.out.println(update);
 }

 /**
  * lombda删除
  */
 @Test
 public void lambdaRemoce(){
  boolean remove = userService.lambdaUpdate().eq(User::getAge, 18).remove();
  System.out.println(remove);
 }

到此这篇关于MyBatis-Plus 通用IService使用详解的文章就介绍到这了,更多相关MyBatis-Plus 通用IService内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 本文向大家介绍Mybatis-Plus通用枚举的使用详解,包括了Mybatis-Plus通用枚举的使用详解的使用技巧和注意事项,需要的朋友参考一下 解决了繁琐的配置,让 mybatis 优雅的使用枚举属性! 修改表结构 定义枚举 配置 修改实体 测试 插入 SQL 查询 SQL 从测试可以看出,可以很方便的使用枚举了。 条件查询 SQL 到此这篇关于Mybatis-Plus通用枚举的使用详解的文章

  • 1. 前言 在spring-boot 集成 MyBatis小节中,我们介绍了如何在 spring-boot 中集成 MyBatis,MyBatis 虽然灵活,但是对于业务开发还略显不够。MyBatis-Plus 是国内开发者为 MyBatis 定制的一款增强工具,在不侵入 MyBatis 的基础上能够快速地提升 MyBatis 的开发能力,为开发者节省大量的时间。 提示: 本小节建立在spring

  • 本文向大家介绍mybatis-plus批处理IService的实现示例,包括了mybatis-plus批处理IService的实现示例的使用技巧和注意事项,需要的朋友参考一下 一、pom文件引入 二、Controller层 三、IService层(此处请确保继承的是 mybatisplus下的 IService,上述的UserInfoEntity为实体类) 四、ServiceImpl(UserIn

  • 本文向大家介绍MyBatis Plus 入门使用详细教程,包括了MyBatis Plus 入门使用详细教程的使用技巧和注意事项,需要的朋友参考一下 一、MyBatis Plus 介绍 MyBatis Plus 是国内人员开发的 MyBatis 增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 MyBatis Plus 的核心功能有:支持通用的 CRUD、代码生成器

  • 本文向大家介绍MyBatis Plus中代码生成器使用详解,包括了MyBatis Plus中代码生成器使用详解的使用技巧和注意事项,需要的朋友参考一下 按照官网上实例尝试了一下,感觉MyBatis plus中代码生成器还是很强大的,以下是测试的总结: 使用MybatisPlus的主要依赖 引入plus依赖(苞米豆) 生成器依赖 模板依赖 测试的pom依赖(也有我测试别东西的依赖,多余的请忽略) 代

  • 本文向大家介绍Mybatis-Plus和Mybatis的区别详解,包括了Mybatis-Plus和Mybatis的区别详解的使用技巧和注意事项,需要的朋友参考一下 原文:https://blog.csdn.net/qq_34508530/article/details/88943858 . 区别一 如果Mybatis Plus是扳手,那Mybatis Generator就是生产扳手的工厂。 通俗来