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 相关文章推荐
SpringBoot工程下使用OpenFeign的坑及解决
Jul 02 Java/Android
新手初学Java List 接口
Jul 07 Java/Android
详细了解java监听器和过滤器
Jul 09 Java/Android
java中用float时,数字后面加f,这样是为什么你知道吗
Sep 04 Java/Android
Java使用Unsafe类的示例详解
Sep 25 Java/Android
带你了解Java中的ForkJoin
Apr 28 Java/Android
Spring Boot 实现 WebSocket
Apr 30 Java/Android
Android中的Launch Mode详情
Jun 05 Java/Android
Springboot中如何自动转JSON输出
Jun 16 Java/Android
Java实现HTML转为Word的示例代码
Jun 28 Java/Android
Spring Boot优化后启动速度快到飞起技巧示例
Jul 23 Java/Android
java获取一个文本文件的编码(格式)信息
Sep 23 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 配置open_basedir 让各虚拟站点独立运行
2009/11/12 PHP
用PHP将网址字符串转换成超链接(网址或email)
2010/05/25 PHP
php中常用字符串处理代码片段整理
2011/11/07 PHP
基于php和mysql的简单的dao类实现crud操作功能
2014/01/27 PHP
Parse正式发布开源PHP SDK
2014/08/11 PHP
PHP 实现的将图片转换为TXT
2015/10/21 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
Display SQL Server Login Mode
2007/06/21 Javascript
关于JavaScript定义类和对象的几种方式
2010/11/09 Javascript
javascript面向对象包装类Class封装类库剖析
2013/01/24 Javascript
jquery 卷帘效果实现代码(不同方向)
2013/02/05 Javascript
60行js代码实现俄罗斯方块
2015/03/31 Javascript
javascript实现秒表计时器的制作方法
2017/02/16 Javascript
vue 组件高级用法实例详解
2018/04/11 Javascript
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
2019/05/14 jQuery
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
jquery实现吸顶导航效果
2020/01/08 jQuery
python使用webbrowser浏览指定url的方法
2015/04/04 Python
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
python写日志文件操作类与应用示例
2019/07/01 Python
Python基于OpenCV实现人脸检测并保存
2019/07/23 Python
python/Matplotlib绘制复变函数图像教程
2019/11/21 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
Python简单实现区域生长方式
2020/01/16 Python
keras model.fit 解决validation_spilt=num 的问题
2020/06/19 Python
解决H5的a标签的download属性下载service上的文件出现跨域问题
2019/07/16 HTML / CSS
Urban Outfitters英国官网:美国平价服饰品牌
2016/11/25 全球购物
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
工商学院毕业生个人自我评价
2013/09/19 职场文书
委托协议书范本
2014/04/22 职场文书
优秀党支部书记事迹材料
2014/05/29 职场文书
法人代表证明书
2014/09/18 职场文书
感谢信格式范文
2015/01/22 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
Android实现图片九宫格
2022/06/28 Java/Android