Mybatis plus核心功能-IService

目录

1 前言

2 使用方法

2.1 继承ServiceImpl,>

2.2 基础业务开发的使用

2.3 复杂业务开发的使用

2.3 Lambda查询

2.4 Lambda更新


1 前言

我本以为Mapper层的类能够继承BaseMapper<XXX>,而不用我们手动写一些mapper方法已经够离谱了。没想到海油膏手,一部分服务层的方法也能不用我们自己写,具体如下。

2 使用方法

2.1 继承ServiceImpl<XXXMapper, XXX>

前提是Mapper层也要继承BaseMapper<XXX>,不然启动项目会报错,示例代码如下:

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {}

2.2 基础业务开发的使用

比如说:新增用户。那么代码如下,什么都不用写,直接使用自带的方法即可。

public class UserController {public void saveUser(){//其它代码...userService.save(user);}
}

2.3 复杂业务开发的使用

比如说:根据id扣工资。这里就没有自带的方法给你用,开发流程就和Mybatis差不多了,不过服务层有个地方需要注意,那就是不需要再注入Mapper依赖了,直接使用baseMapper即可,如下。

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {public void deductBalance(xx) {//就不用@Autowired之类了baseMapper.deductBalance(xx);}
}

如果要问为什么,那就是内部已经做了@Autowired的操作了。

2.3 Lambda查询

lambdaQuery()

 在上式后面加个点,就会弹出一堆东西,如下,这些都是用来构造查询条件的。

条件构造完之后,再来一个点,就可以选择是查询一条还是多条,如下。

函数作用
one()查询一条
list()查询多个
page()分页查询
exists()判断是否存在
count()计数

最后直接return,是的,Mapper层不需要写了。

public List<User> queryUsers() {//其它代码...return lambdaQuery().like(xx).eq(xx).ge(xx).list();
}

2.4 Lambda更新

lambdaUpdate()

 和Lambda查询差不多,就不多讲了。不过一定要记得在最后加上个update(),如下。

public void deductBalance() {//其它代码...lambdaUpdate()//三个参数分别为,条件,属性名(可以用lambda方法),设置的值.set(remainBalance == 0, User::getStatus, UserStatus.FROZEN).eq(xx).update();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/713426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习300问】25、常见的模型评估指标有哪些?

模型除了从数据划分的角度来评估&#xff0c;我上一篇文章介绍了数据集划分的角度&#xff1a; 【机器学习300问】24、模型评估的常见方法有哪些&#xff1f;http://t.csdnimg.cn/LRyEt 还可以从一些指标的角度来评估&#xff0c;这篇文章就带大家从两个最经典的任务场景介绍…

Day08:基础入门-算法分析传输加密数据格式密文存储代码混淆逆向保护

目录 传输数据-编码型&加密型等 传输格式-常规&JSON&XML等 密码存储-Web&系统&三方应用 代码混淆-源代码加密&逆向保护 思维导图 章节知识点&#xff1a; 应用架构&#xff1a;Web/APP/云应用/三方服务/负载均衡等 安全产品&#xff1a;CDN/WAF/I…

【stata】渐进式双重差分/交错式双重差分(staggered-DID) 实现过程

Staggered-DID 的实现 为保证本贴的简洁性与一般适用性,本文并没有使用现有真实数据,而是模拟了一个一般数据。如果你手中有正在处理好的project数据,可以跳过1.数据生成,直接从2.数据预加工开始。 1.数据生成 (1)数据生成过程 我将随机生成一个数据来模拟staggered-DID…

leetcode 热题 100_移动零

题解一&#xff1a; 双指针遍历&#xff1a;将非零的值往数组前端依次放置&#xff0c;将放置之后数组后端多余的位置都置为0&#xff0c;参考下图&#xff08;来源. - 力扣&#xff08;LeetCode&#xff09;&#xff09; class Solution {public void moveZeroes(int[] nums)…

c语言的数据结构:队列

1.队列存在的实现方式及其存在意义 1.1为什么队列使用单链表实现更好 动态内存分配&#xff1a;链表在C语言中通常使用动态内存分配&#xff0c;这意味着可以在运行时根据需要动态地添加或删除节点。这对于实现一个动态大小的队列非常有用&#xff0c;因为队列的大小可以在运…

界面控件Telerik UI for ASP. NET Core教程 - 如何为网格添加上下文菜单?

Telerik UI for ASP.NET Core是用于跨平台响应式Web和云开发的最完整的UI工具集&#xff0c;拥有超过60个由Kendo UI支持的ASP.NET核心组件。它的响应式和自适应的HTML5网格&#xff0c;提供从过滤、排序数据到分页和分层数据分组等100多项高级功能。 上下文菜单允许开发者为应…

[unity] c# 扩展知识点其一 【个人复习笔记/有不足之处欢迎斧正/侵删】

.NET 微软的.Net既不是编程语言也不是框架,是类似于互联网时代、次时代、21世纪、信息时代之类的宣传口号,是一整套技术体系的统称&#xff0c;或者说是微软提供的技术平台的代号. 1.跨语言 只要是面向.NET平台的编程语言(C#、VB、 C、 F#等等)&#xff0c;用其中一种语言编写…

带着问题阅读源码——Spring MVC是如何将url注册到RequestMappingHandlerMapping?

背景 在 Spring MVC 中&#xff0c;DispatcherServlet 是前端控制器&#xff08;front controller&#xff09;&#xff0c;它负责接收所有的 HTTP 请求并将它们映射到相应的处理器&#xff08;handler&#xff09;。为了实现这一点&#xff0c;Spring MVC 使用了适配器模式将…

大街款商城项目03-微服务之间调用

目录 RestTemplate OpenFeign 1.引入依赖open-feign 2.声明要调用的服务和接口 3.注入FeignClient启用 4验证 RestTemplate 在微服务架构中&#xff0c;使用RestTemplate是一种常见的方式进行服务间的HTTP通信。以下是一个简单的示例&#xff0c;演示如何使用RestTempla…

Android minigbm框架普法

Android minigbm框架普法 引言 假设存在这么一个场景&#xff0c;我的GPU的上层实现走的不是标准的Mesa接口&#xff0c;且GPU也没有提专门配套的gralloc和hwcompoer实现。那么我们的Android要怎么使用到EGL和GLES库呢&#xff0c;并且此GPU驱动是支持drm实现的&#xff0c;也有…

Galaxy生信云平台:集合操作工具大全

Galaxy平台上的文件称为数据集&#xff08;Dataset&#xff09;&#xff0c;如果将多个文件组合在一起&#xff0c;则形成数据集合&#xff08;Dataset collection&#xff09;。 上传文件后&#xff0c;可以通过工具将文件构建成数据集合。具体操作可以参考前面介绍转录组流程…

后台组件体系

从今天开始进入更细粒度说明。后台微服务是由组件构成的。平台的开发理念是为甲方打造一个生态环境。安装实施时为客户安装私仓来管理组件。开发微服务时鼓励拆分为组件。开发新功能时&#xff0c;先看有没有相关组件&#xff0c;有的话就在pom.xml文件&#xff08;不要问我这个…

Day10:基础入门-HTTP数据包Postman构造请求方法请求头修改状态码判断

目录 数据-方法&头部&状态码 案例-文件探针 案例-登录爆破 工具-Postman自构造使用 思维导图 章节知识点&#xff1a; 应用架构&#xff1a;Web/APP/云应用/三方服务/负载均衡等 安全产品&#xff1a;CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗透命令&#xff1a;文件…

什么是端点安全以及如何保护端点

什么是端点安全 端点是指可以接收信号的任何设备&#xff0c;是员工使用的一种计算设备&#xff0c;用于保存公司数据或可以访问 Internet。端点的几个示例包括&#xff1a;服务器、工作站&#xff08;台式机和笔记本电脑&#xff09;、移动设备、虚拟机、平板电脑、物联网、可…

一【初识EMC】

在作为硬件行业相关从业者&#xff0c;经常接触到EMC相关问题&#xff0c;下面来简单介绍下EMC相关方面的知识 文章目录 前言一、生活中的EMC现象&#xff1f;二、EMC是什么三、EMC的三要素四、EMI与EMS的评估方式1.RE2.CE3.HAR4.FLICKER5.Rs6.CS7.ESD8.EFT9.DIP10.PMS11.surge…

Zookeeper3:客户端命令

文章目录 客户端命令连接服务端Zookeeper客户端内置命令 ls - 节点信息 客户端命令 连接服务端Zookeeper //客户端连接服务端zookeeper 默认连的本机2181端口的zookeeper cd /opt/module/zookeeper-3.9.1/bin && sh zkCli.sh//客户端连接远程服务端zookeeper cd /op…

【小尘送书-第十一期】编程的基石,开发的核心:《算法秘籍》

大家好&#xff0c;我是小尘&#xff0c;欢迎你的关注&#xff01;大家可以一起交流学习&#xff01;欢迎大家在CSDN后台私信我&#xff01;一起讨论学习&#xff0c;讨论如何找到满意的工作&#xff01; &#x1f468;‍&#x1f4bb;博主主页&#xff1a;小尘要自信 &#x1…

如何使用GAP-Burp-Extension扫描潜在的参数和节点

关于GAP-Burp-Extension GAP-Burp-Extension是一款功能强大的Burp扩展&#xff0c;该工具在getAllParams扩展的基础上进行了升级&#xff0c;该工具不仅可以帮助广大研究人员在安全审计过程中扫描潜在的参数&#xff0c;而且还可以搜索潜在的链接并使用这些参数进行测试&#…

零基础如何快速入门伦敦金交易

伦敦金交易是金融市场中备受关注的一种投资方式。对于想要学习如何炒伦敦金并快速开始交易的人来说&#xff0c;本文将为您提供一份全面而详细的指南。无论您是初学者还是有经验的交易者&#xff0c;本文都将帮助您了解伦敦金交易的基本知识&#xff0c;并提供一些实用的技巧和…

协议-http协议-基础概念03-http状态码-http特点-http性能-压缩和分块传输-范围请求

参考来源&#xff1a; 极客时间-透视HTTP协议(作者&#xff1a;罗剑锋)&#xff1b; 01-状态码分类 开头的 Version 部分是 HTTP 协议的版本号&#xff0c;通常是HTTP/1.1&#xff0c;用处不是很大。后面的 Reason 部分是原因短语&#xff0c;是状态码的简短文字描述&#xff…