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 相关文章推荐
Java 将PPT幻灯片转为HTML文件的实现思路
Jun 11 Java/Android
Java实现简易的分词器功能
Jun 15 Java/Android
Java循环队列与非循环队列的区别总结
Jun 22 Java/Android
解决SpringCloud Feign传对象参数调用失败的问题
Jun 23 Java/Android
使用feign服务调用添加Header参数
Jun 23 Java/Android
简单总结SpringMVC拦截器的使用方法
Jun 28 Java/Android
看完这篇文章获得一些java if优化技巧
Jul 15 Java/Android
SpringBoot整合Mybatis Generator自动生成代码
Aug 23 Java/Android
Java 关于String字符串原理上的问题
Apr 07 Java/Android
JavaWeb Servlet开发注册页面实例
Apr 11 Java/Android
Elasticsearch Recovery 详细介绍
Apr 19 Java/Android
Spring 使用注解开发
May 20 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数据流应用的一个简单实例
2012/09/14 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
2014/11/06 PHP
PHP在线打包下载功能示例
2016/10/15 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
2017/02/15 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
用正则获取指定路径文件的名称
2007/02/27 Javascript
window.ActiveXObject使用说明
2010/11/08 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
cookie中的path与domain属性详解
2013/12/18 Javascript
document.execCommand()的用法小结
2014/01/08 Javascript
深入浅出 jQuery中的事件机制
2016/08/23 Javascript
jQuery的Read()方法代替原生JS详解
2016/11/08 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
2017/05/17 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
解决node修改后需频繁手动重启的问题
2018/05/13 Javascript
javascript实现拖拽碰撞检测
2020/03/12 Javascript
js实现鼠标拖曳效果
2020/12/30 Javascript
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
python的id()函数解密过程
2012/12/25 Python
Python实现多行注释的另类方法
2014/08/22 Python
Python模拟登录12306的方法
2014/12/30 Python
Python中关于字符串对象的一些基础知识
2015/04/08 Python
Python中输出ASCII大文字、艺术字、字符字小技巧
2015/04/28 Python
Django的URLconf中使用缺省视图参数的方法
2015/07/18 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
挪威太阳镜和眼镜网上商城:SmartBuyGlasses挪威
2016/08/20 全球购物
美国最大点评网站:Yelp
2018/02/14 全球购物
牧马人澳大利亚官网:Wrangler澳大利亚
2019/10/08 全球购物
渔夫的故事教学反思
2014/02/14 职场文书
创新社会管理心得体会
2014/09/12 职场文书
二审代理词范文
2015/05/25 职场文书
简历自我评价范文
2019/04/24 职场文书
PostgreSQL自动更新时间戳实例代码
2021/11/27 PostgreSQL
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers