MybatisPlus EntityWrapper如何自定义SQL


Posted in Java/Android onMarch 22, 2022

EntityWrapper自定义SQL

在mybatis plus中根据条件构造器,构建SQL查询是很方便的,使用条件构造器可以替代我们写SQL。下面我们看几个例子。

第一种

使用T selectOne(Wrapper<T> wrapper);我们只需要传递入我们创建一个EntityWrapper()并将条件拼接好就可以。

例如new EntityWrapper().eq("id","1")就是查询id等于1的这条数据。这里不仅仅支持eq(),还有like,not like ,group by等,差不多在SQL中需要的这里都有。

第二种

在单表查询的时候我们需要自定义列的时候则使用setSqlSelect方法,具体如下:

/**此格式的意思为requireParam传参了才创建where条件,请按照此格式撰写代码
*Object为你的单表实体类
*requireParam为入参实体类
*EntityWrapper<Object> ew = new EntityWrapper<Object>(requireParam);是为了让构造where条件
*我在前面给requireParam的state属性设置了值为1,所以这里会自动拼接上where条件,如果不需要的话则可不传requireParam
*
*
**/
            EntityWrapper<Object> ew = new EntityWrapper<Object>(requireParam);
            /**设置需要查询的列名**/
            ew.setSqlSelect("id,resource_id,user_id,username,content,createtime,parent_id," +
                    " path,type,like_count")
                    /**排序方式**/
                    .orderBy(false,"path",false);

同第一种情况一样,后面可以继续拼接各种条件。

第三种

EntityWrapper()拼接where条件,这个其实在第二种情况中已经讲了,就是根据我们创建EntityWrapper的时候有没有入参来做。

到目前我们只用到了这些,以后遇到了我会继续更新。

MybatisPlus自定义sql查询

public void reconciliationForConfirmOne(Integer Id, Integer payoffType) {
    List<FinanceReconciliationEntity> frList = financeReconciliationService.selectList(
            new EntityWrapper<FinanceReconciliationEntity>()
                    .eq("payoff_id", Id)
                    .eq("payoff_type", payoffType)
                    .where("(reconciliation_status <> 1 OR reconciliation_status IS NULL)")
    );
    for (FinanceReconciliationEntity fr : frList) {
        fr.setReconciliationStatus(1);
    }
    if (frList != null && frList.size() > 0) {
        financeReconciliationService.updateBatchById(frList);
    }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Java/Android 相关文章推荐
Win10系统下配置Java环境变量
Jun 13 Java/Android
SpringAop日志找不到方法的处理
Jun 21 Java/Android
Netty结合Protobuf进行编解码的方法
Jun 26 Java/Android
Spring Data JPA的Audit功能审计数据库的变更
Jun 26 Java/Android
Spring Cloud 中@FeignClient注解中的contextId属性详解
Sep 25 Java/Android
Java tomcat手动配置servlet详解
Nov 27 Java/Android
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
Apr 08 Java/Android
JavaWeb Servlet开发注册页面实例
Apr 11 Java/Android
java实现面板之间切换功能
Jun 10 Java/Android
Springboot中如何自动转JSON输出
Jun 16 Java/Android
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
Jul 07 Java/Android
Java 中的 Lambda List 转 Map 的多种方法详解
Jul 07 Java/Android
SpringBoot2零基础到精通之数据库专项精讲
Mar 22 #Java/Android
Spring Bean是如何初始化的详解
Mar 22 #Java/Android
关于EntityWrapper的in用法
Mar 22 #Java/Android
SpringBoot2零基础到精通之异常处理与web原生组件注入
Mar 22 #Java/Android
Java字符串逆序方法详情
Mar 21 #Java/Android
剑指Offer之Java算法习题精讲二叉树的构造和遍历
剑指Offer之Java算法习题精讲二叉树专项训练
You might like
PHP多维数组元素操作类的方法
2016/11/14 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
2017/06/30 PHP
Laravel框架模板加载,分配变量及简单路由功能示例
2018/06/11 PHP
Array.slice()与Array.splice()的返回值类型
2006/10/09 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
js各种验证文本框输入格式(正则表达式)
2010/10/22 Javascript
JQuery开发的数独游戏代码
2010/10/29 Javascript
JS自动缩小超出大小的图片
2012/10/12 Javascript
javascript实现浏览器窗口传递参数的方法
2014/09/03 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
轻松创建nodejs服务器(4):路由
2014/12/18 NodeJs
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
2016/07/25 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
使用BootStrap实现标签切换原理解析
2017/03/14 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
react-native fetch的具体使用方法
2017/11/01 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
2018/05/10 Javascript
小程序图片剪裁加旋转的示例代码
2018/07/10 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
vue自定义正在加载动画的例子
2019/11/14 Javascript
详解vite+ts快速搭建vue3项目以及介绍相关特性
2021/02/25 Vue.js
Python制作豆瓣图片的爬虫
2017/12/28 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
Python分支语句与循环语句应用实例分析
2019/05/07 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
2019/08/20 Python
numpy.ndarray 实现对特定行或列取值
2019/12/05 Python
pytorch实现mnist分类的示例讲解
2020/01/10 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
2020/02/26 Python
Anaconda和ipython环境适配的实现
2020/04/22 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
必须要使用游标的SQL语句有那些
2012/05/07 面试题
创业者是否需要商业计划书?
2014/02/07 职场文书
暗恋桃花源观后感
2015/06/12 职场文书