iservice list方法_MyBatis-Plus 通用IService使用详解

iservice list方法_MyBatis-Plus 通用IService使用详解一 引言 MP 除了通用的 Mapper 还是通用的 Servcie 层 这也减少了相对应的代码工作量 把通用的接口提取到公共 其实按照 MP 的这种思想 可以自己也实现一些通用的 Controller 今天是周天 作为一名码农来说 这里小编提醒大家周末有空还是多出去运动一下 生命在于运动 生命诚可贵 二 小编瞎扯相信有和小编一样的朋友 在大城市独自漂泊 感觉就凭借自己内心那一点点的火苗 想要燃烧起来 小编在上海

一、引言

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(L);

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220902.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午7:23
下一篇 2026年3月17日 下午7:24


相关推荐

  • ubuntu命令chmod755

    ubuntu命令chmod755使用方式:在终端切换到文件目录输入chmod775hello.py这样就将hello.py变成了可执行文件当然作为python文件还需要再开头加上#!/usr/bin/envpython用于适应linux环境。chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。一般是三个数字:第一个数字表示文件所有者的权限第二个数字表示与文…

    2022年7月16日
    39
  • SVD 详解 与 spark实战

    SVD 详解 与 spark实战1 前言一般提到特征值分解 eigenvaluede 或者奇异值分解 singularvalu 大多数同学脑海里的第一反应就是一大堆矩阵以及数学计算方法 确实 学校学习阶段 不管是学线性代数或者矩阵分析 对于这部分内容 或者说绝大部分内容 老师一上来都是吧啦吧啦给你一堆定理推论或者公理 然后就是哗啦哗啦一堆公式出来 告诉你怎么计算 最后再讲个

    2026年3月19日
    3
  • Idea 格式化代码-配置

    Idea 格式化代码-配置我在开发过程中为了保持代码的整洁 经常会用到 Idea 的快捷键 Ctrl Alt L 来格式化代码 这个功能很好用 所以我基本上每敲一段代码就会用这个快捷键格式化一下代码 但是由于在开发中是多人协作项目 因此这个快捷键总是会不小心把别人开发给格式化了 导致提交的时候总是不小心提交了不必要的空格和空行 这些格式化导致提交的空格在很多情况下会导致代码冲突 因此 Idea 格式化这个功能必需要满足我的开发需要 格式化代码只格式化我修改的代码不格式化未修改的代码相信 Idea 强大如斯 应该是能够通过设

    2026年3月17日
    2
  • DeepSeek API 接口——完整对接过程

    DeepSeek API 接口——完整对接过程

    2026年3月16日
    2
  • Pycharm安装在Linux系统中

    Pycharm安装在Linux系统中Pycharm 安装在 Linux 系统中 Pycharm 安装在 Linux 系统中 1 下载安装包 linux 的安装包是以 tar gz 格式的 2 解压下载好的安装包并安装 3 使用安装好的 pycharm 运行一下自带的程序报错了 错误信息为 Failedtocrea 原因是 ubuntu18 04 默认没有安装 setuptools 解决办法 在新的终端执行下面命令 然后运行程序又报错了 不要紧 选择一个 python 的解析器即可 由于上一次已经安装了 Anacond 所以使用 Anac

    2026年3月27日
    3
  • Pycharm提示 Unresolved reference 的解决办法[通俗易懂]

    Pycharm提示 Unresolved reference 的解决办法[通俗易懂]有时候a.py和b.py在一个目录里面,但是在a.py种写importb有时会提示Unresolvedreference,Pycharm常见,解决办法是setting->Project->Projectstructure->Source,点击要加入的文件夹.注意:添加成功之后该文件见的图标会编程蓝色(加入之前是淡蓝色中间一个圆圈)如上图所示。…

    2022年8月27日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号