一、引言

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

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

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

二、 小编瞎扯

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

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

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

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

三、IService使用

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

/**

*

* 用户 服务类

*

*

* @author IT贱男

* @since 2019-06-14

*/

public interface UserService extends IService {

}

/**

*

* 用户 服务实现类

*

*

* @author IT贱男

* @since 2019-06-14

*/

@Service

public class UserServiceImpl extends ServiceImpl implements UserService {

}

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

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

@Test

public void getOne() {

User one = userService.getOne(Wrappers.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 users = Arrays.asList(user1, user2);

boolean b = userService.saveOrUpdateBatch(users);

System.out.println(b);

}

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

/**

* lombda查询

*/

@Test

public void lambdaQuery(){

List 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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

iservice list方法_MyBatis-Plus 通用IService使用详解相关推荐

  1. 第7.26节 Python中的@property装饰器定义属性访问方法getter、setter、deleter 详解

    第7.26节 Python中的@property装饰器定义属性访问方法getter.setter.deleter 详解 一.    引言 Python中的装饰器在前面接触过,老猿还没有深入展开介绍装饰 ...

  2. php 合并数组对象,JS内数组合并方法与对象合并实现步骤详解

    这次给大家带来JS内数组合并方法与对象合并实现步骤详解,JS内数组合并方法与对象合并实现的注意事项有哪些,下面就是实战案例,一起来看一下. 1 数组合并 1.1 concat 方法var a=[1,2 ...

  3. 作为SLAM中最常用的闭环检测方法,视觉词袋模型技术详解来了

    摘自:https://mp.weixin.qq.com/s/OZnnuA31tEaVt0vnDOy5hQ 作为SLAM中最常用的闭环检测方法,视觉词袋模型技术详解来了 原创 小翼 飞思实验室 今天 基 ...

  4. 【2016年第4期】《欧盟数据保护通用条例》详解

    王融 中国信息通信研究院互联网法律中心,北京 100191 摘要:<欧盟数据保护通用条例>于2018年5月25日正式生效.为踏上数字时代新秩序的起跑线,全球企业都在积极准备合规工作.全面梳 ...

  5. 【Photoshop调色教程】通用调色技巧详解

    Photoshop通用调色技巧 相信大家都照过数码照片的,可能因为当时的环境等因素的影响,造成图片的色彩不足,不够艳丽.下面这个调色技巧对于一般的数码照片是通用的,中间的数值是因每个照片的实际效果而定 ...

  6. java语言say方法,简单了解Java方法的定义和使用实现详解

    简单了解Java方法的定义和使用实现详解 发布时间:2020-09-25 11:36:07 来源:脚本之家 阅读:78 作者:OLIVER_QIN 这篇文章主要介绍了简单了解Java方法的定义和使用实 ...

  7. sql server解析xml属性为表格_Mybatis中SqlSource解析流程详解

    前面几篇文章都在详细分析mapper的加载过程,但是始终没有看到sql的解析过程,今天来详细分析下. 解析sql的位置 前面分析到不管是通过注解还是通过xml方式生成mapper,最终都是调用Mapp ...

  8. git 几种还原版本_Git恢复之前版本的两种方法reset、revert(图文详解)

    一.问题描述 在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset).反做(rev ...

  9. 23种设计模式之简单工厂模式,工厂方法模式,抽象工厂模式详解

    工厂模式详解 1. 简单工厂模式 1.1 需求分析 1.2 使用传统方式实现 1.2.1 类图 1.2.2 代码实现 1.2.2.1 新建pizza抽象类 1.2.2.2 希腊披萨实现类 1.2.2. ...

  10. mybatis 鉴别其_MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询

    MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询 白玉 IT哈哈 支持的 JDBC 类型 为了未来的参考,MyBatis 通过包含的 jdbcType 枚举型,支持下面的 ...

最新文章

  1. Eclipse ADT 21 Preview 10 发布
  2. 乐观锁、悲观锁简单分析,回忆旧(新)知识...
  3. 分析模式 - 度量与测绘
  4. eclipse安装SVN插件报错Unable to connect
  5. Web项目性能优化之减少HTTP请求次数优化
  6. Windows 7 64位系统上搭建Hadoop伪分布式环境(很详细)
  7. python中的range与list函数
  8. Hive分析函数--row_number 的用法
  9. 微信又出隐藏“技能”,一夜之间朋友圈刷屏了
  10. 如何查看sql2005数据库的端口号
  11. Java的IO操作(五) - PrintStream类、字符流、Reader和Writer、带缓冲的字符流BufferedReader和BufferedWriter...
  12. htmlcleaner+xpath抓取网页数据
  13. matlab gui串口通信,Matlab GUI上位机界面实现串口通信
  14. energy plus matlab,EnergyPlus EMS和ExternalInterface入门学习 [第一篇——简介]
  15. Java架构师面试十大连环炮
  16. Resolver error Error Downloading VS Code Server failed - please install either curl or wget on the
  17. 用计算机打爸爸妈妈,看图写话打电脑
  18. 英语每日听写练习 Day 19
  19. DevpTips【golang】安装到测试
  20. 20多岁,你迷茫又着急。你想要房子你想要汽车,你想要旅行你想要享受生活。 你那么年轻却窥觑整个世界

热门文章

  1. 转型会员制,云集能否讲好电商下半场故事?
  2. windows 7下如何卸载重装mysql 压缩包版百度经验_windows下安装、卸载mysql服务的方法(mysql 5.6 zip解压...
  3. 取消计算机关机设置,旧驱动程序教您如何设置和取消计算机的自动关机命令
  4. java springboot 搭建_springboot搭建java项目
  5. java 转换成时间戳_Java 实例 – 时间戳转换成时间 - Java 基础教程
  6. 聊聊ajax,聊聊Ajax()中data()基本知识以及实例分析
  7. [BJDCTF 2nd]8086(异或脚本解题)
  8. Python基础教程:类的特殊成员及高级特性
  9. 使用sphinx为python注释生成docAPI文档
  10. 三星.android beam,三星S Beam取代Android Beam