MyBatis-Plus 通用IService使用介绍

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); } 
  

 

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

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

(0)
上一篇 2026年3月20日 上午10:19
下一篇 2026年3月20日 上午10:19


相关推荐

  • python后端框架有哪些_后端框架有哪些?五款优秀的web开源后端框架推荐

    python后端框架有哪些_后端框架有哪些?五款优秀的web开源后端框架推荐作为一个web开发人员,下面五款优秀的开源框架一定要了解一下。PHP篇作为全球最好的web开发编程语言,PHP的框架非常多。下面重点介绍2款:Laravelhttps://laravel.comLaravel最大的优势就是:简洁和优雅。能迅速的让大家从杂乱无章的代码中解脱出来。拥抱PHP7基于composer全栈型框架灵活的路由配置仅仅通过配置文件就可以切换缓存、会话的存储介质,包括(file、r…

    2022年6月8日
    40
  • 发html邮件乱码 java,Java发送邮件时标题和发件人乱码

    发html邮件乱码 java,Java发送邮件时标题和发件人乱码#Java发送邮件时标题和发件人乱码最近碰到一个问题,Java发送邮件时,查看邮箱结果,发件人及邮件标题正文全部乱码通过翻阅资料,原因及解决方法如下:“`//SetSubject:头字段message.setSubject(MimeUtility.encodeText(mail,MimeUtility.mimeCharset(“gb2312”),null));//设置邮件发送日期m…

    2022年5月14日
    73
  • Android严苛模式StrictMode使用详解「建议收藏」

    Android严苛模式StrictMode使用详解「建议收藏」StrictMode类是Android2.3(API9)引入的一个工具类,可以用来帮助开发者发现代码中的一些不规范的问题,以达到提升应用响应能力的目的。举个例子来说,如果开发者在UI线程中进行了网络操作或者文件系统的操作,而这些缓慢的操作会严重影响应用的响应能力,甚至出现ANR对话框。为了在开发中发现这些容易忽略的问题,我们使用StrictMode,系统检测出主线程违例的情况并做出相应的反应,

    2022年6月3日
    56
  • 最小化类和成员的訪问能力

    最小化类和成员的訪问能力

    2022年1月18日
    59
  • php前端开发工程师简历,web前端工程师简历自我评价范文

    php前端开发工程师简历,web前端工程师简历自我评价范文web 前端工程师简历自我评价范文一有 3 年以上经验 积极向上 有良好的人际沟通能力 良好的工作协调能力 踏实肯干的工作精神 不断学习新技术 对知识有强烈的求知欲 良好的前端编程能力和编程习惯 致力于代码的整体结构规范及优化 web 前端工程师简历自我评价范文二具备前端工程师所要求的各种语言 主流框架以及软件技能 有两年的前端开发经验 熟练使用 HTML5 CSS3 等前台语言 并对 PHP thinkPHP

    2026年3月18日
    2
  • phpspreadsheet 读取 Excel 表格问题

    phpspreadsheet 读取 Excel 表格问题要读取大量数据,需要ReadFilter,指定读取范围,下面是我的ReadFilter类<?phpnamespacecommon\models;classMyExcelReadFilterimplements\PhpOffice\PhpSpreadsheet\Reader\IReadFilter{private$startRowNo;//如1private$endRowNo;//如1000private$

    2025年12月12日
    4

发表回复

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

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