感觉还行,确实能省不少时间。就是有点丑,有待进一步美化。对于一个抵触Lambda的码农来说,看在能省时间的份上,就捏着鼻子先用着吧。哈哈。
附上2个具体场景:

1:多对多关连查询最终解决方案:

#用于查询用户时,设置部门id条件的sql片段
user.department.userInDept=id in (select user_id from sys_user_department where dept_id={0})
#用于查询用户时,设置岗位id条件的sql片段
user.position.userInPosition=id in (select user_id from sys_user_position where position_id={0})

//读属性

@Component
@PropertySource("mapper/apply-where.properties")
public class SqlSegmentProperties {public static String userInDept;public static String userInPosition;@Value("${user.department.userInDept}")public void setUserIdIn(String userIdIn) {SqlSegmentProperties.userInDept = userIdIn;}@Value("${user.position.userInPosition}")public void setUserInPosition(String userInPosition) {SqlSegmentProperties.userInPosition = userInPosition;}
}

查询时用query.apply设置多对多条件

 public Wrapper<User> buildQuery() {QueryWrapper<User> query = Wrappers.<User>query();query.setEntity(this);// 根据机构查询query.apply(null != departmentId, userInDept, departmentId);// 根据岗位查询query.apply(null != positionId, userInPosition, positionId);// 排序query.orderByDesc("gmt_create");return query;}

//对Wrapper这玩意有强烈的抵制心理,代码太丑了有木有。还是尽可能抽抽吧- ,-

 /** 用户 **/static LambdaQueryWrapper<User> userQuery() {return Wrappers.<User>lambdaQuery();}/** 部门 **/static LambdaQueryWrapper<Department> departmentQuery() {return Wrappers.<Department>lambdaQuery();}/** 用户-部门 **/static LambdaQueryWrapper<UserDepartment> userDepartmentQuery() {return Wrappers.<UserDepartment>lambdaQuery();}static LambdaQueryWrapper<UserDepartment> userDepartmentQuery(Long userId) {return userDepartment().eq(UserDepartment::getUserId, userId);}

相当不爽的代码–>Wrappers.lambdaUpdate().set(ReportOutTempEntity::getStatus, “3”).eq(ReportOutTempEntity::getId, paramvo.getReportOutTempId()).点到昏天暗地…

MyBatis-Plus初体验--痛并快乐相关推荐

  1. Java开发 - 单点登录初体验(Spring Security + JWT)

    目录​​​​​​​ 前言 为什么要登录 登录的种类 Cookie-Session Cookie-Session-local storage JWT令牌 几种登陆总结 用户身份认证与授权 创建工程 添加 ...

  2. JavaWeb进阶之路:MyBatis初体验

    JavaWeb进阶之路:MyBatis初体验 1. 简介 1.1 什么是MyBatis MyBatis 是一款优秀的持久层框架. 它支持自定义 SQL.存储过程以及高级映射. MyBatis 免除了几 ...

  3. wxWidgets刚開始学习的人导引(3)——wxWidgets应用程序初体验

    wxWidgets刚開始学习的人导引全文件夹   PDF版及附件下载 1 前言 2 下载.安装wxWidgets 3 wxWidgets应用程序初体验 4 wxWidgets学习资料及利用方法指导 5 ...

  4. [Android Studio] 初体验

    [Android Studio] 初体验 本人刚开始接触移动开发方面的知识,在很多方面都感觉寸步难行,移动开发这门课程应该是在我一年后学校才会开设,而移动开发所用到的java也是在我下个学期才开始正式 ...

  5. Spring Security:初体验

    在上一篇文章中,我们对于Spring Security有了一个基本的了解,那么重点是在Spring Boot中如何使用Spring Security呢? 文章目录 Spring Security初体验 ...

  6. 倪光南、求伯君“出山”:爱解 Bug、无惧“35岁魔咒”、编码之路痛并快乐!

    作者 | 郑丽媛 责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 互联网是有记忆的. 从混沌初开到万物互联,从「程序英雄」到「平台诸侯」,中国计算机到互联网的发展历经 60 个春秋,整个 ...

  7. android微信7,微信7.0安卓版之初体验

    原标题:微信7.0安卓版之初体验 就在上周末微信 iOS版先走一步更新到了7.0版本,紧跟着微信安卓7.0测试版也上线了,笔者也在第一时间跟进升级到了微信7.0版.通过几天的使用,对新增的功能基本有了 ...

  8. AndroidStudio初体验

    style="display: none;" frameborder="0"> 收藏成功 确定 收藏失败,请重新收藏 确定 查看所有私信查看所有通知 暂没 ...

  9. 视频教程-jQuery交互式前端开发(第一季):初体验/选择器/事件绑定-jQuery

    jQuery交互式前端开发(第一季):初体验/选择器/事件绑定 知识传播美丽,分享传递快乐.作者主要从事Java服务器端技术.前端与移动开发技术的研究和授课,已有10多年从业经验. IT老兵 ¥12. ...

最新文章

  1. Java数据结构简述
  2. 简单介绍android studio中的Logcat
  3. 进程线程005 SwapContext函数分析
  4. linux安装mysql 5.7_linux安装mysql5.7
  5. php自定义模块,简单介绍OpenCart自定义模块
  6. activemq高可用
  7. 部署SpringBoot项目到腾讯云或其他服务器
  8. 堆和栈的概念和区别?
  9. Sigar 编译笔记
  10. MATLAB从入门到精通 第1章 MATLAB入门
  11. TBSchedule原理与实践
  12. android 汉字拼音排序,Android实现中文按拼音排序方法
  13. 大学教师晋升正教授职称需要多久
  14. 如何学习数字通信FPGA设计
  15. cnpm使用报错-最佳方案
  16. upupoo启动不了 mysql_【upupoo动态桌面壁纸和MySQL API 中文手册哪个好用】upupoo动态桌面壁纸和MySQL API 中文手册对比-ZOL下载...
  17. 【6-2】hbase shell
  18. 计算机处理器哪个最好,电脑处理器,哪个比较好
  19. Github 首页美化教程 —— 美,是第一生产力
  20. android8 小米5s,终于来了!小米5s、小米5s Plus将提前升级Android 8.0!

热门文章

  1. MongoDB创建用户用户权限
  2. 【COCO】COCO2017数据集下载百度云
  3. 《Excel公式与函数实战应用》
  4. SSM毕设项目舞蹈管理系统238wu(java+VUE+Mybatis+Maven+Mysql)
  5. 无法注册:DAO350.dll,THREED32.OCX的解决方案
  6. IPad开发环境安装配置图文
  7. 记一次mybatis-plus自定义sql注入器不起作用的问题
  8. 形容计算机很烂的网络用语,形容手气差的幽默句子 运气很差的说说短语
  9. breakall lisp文件_dwg导入SU的准备工作.doc
  10. Android Edittext获取焦点和失去焦点事件