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各种比较对象的方式的对比总结
Jun 20 Java/Android
解决ObjectMapper.convertValue() 遇到的一些问题
Jun 30 Java/Android
JPA 通过Specification如何实现复杂查询
Nov 23 Java/Android
SpringDataJPA实体类关系映射配置方式
Dec 06 Java/Android
SSM项目使用拦截器实现登录验证功能
Jan 22 Java/Android
Java实现经典游戏泡泡堂的示例代码
Apr 04 Java/Android
Java十分钟精通进阶适配器模式
Apr 06 Java/Android
Java 超详细讲解ThreadLocal类的使用
Apr 07 Java/Android
JAVA长虹键法之建造者Builder模式实现
Apr 10 Java/Android
SpringBoot详解自定义Stater的应用
Jul 15 Java/Android
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
Jul 15 Java/Android
Spring boot实现上传文件到本地服务器
Aug 14 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数组相关函数汇总
2015/03/24 PHP
PHP云打印类完整示例
2016/10/15 PHP
PHP实现根据数组的值进行分组的方法
2017/04/20 PHP
laravel框架关于搜索功能的实现
2018/03/15 PHP
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
JavaScript栏目列表隐藏/显示简单实现
2013/04/03 Javascript
jQuery之折叠面板的深入解析
2013/06/19 Javascript
鼠标滑过出现预览的大图提示效果
2014/02/26 Javascript
javascript实现table选中的行以指定颜色高亮显示的方法
2015/05/13 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
详解node-ccap模块生成captcha验证码
2017/07/01 Javascript
Vue Transition实现类原生组件跳转过渡动画的示例
2017/08/19 Javascript
JavaScript 中的12种循环遍历方法【总结】
2018/05/31 Javascript
vue修改对象的属性值后页面不重新渲染的实例
2018/08/09 Javascript
微信小程序--获取用户地理位置名称(无须用户授权)的方法
2019/04/29 Javascript
JavaScript Array对象使用方法解析
2019/09/24 Javascript
JS实现音量控制拖动
2020/01/15 Javascript
vue 函数调用加括号与不加括号的区别
2020/10/29 Javascript
[00:58]2016年国际邀请赛勇士令状宣传片
2016/06/01 DOTA
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
[01:16:12]完美世界DOTA2联赛PWL S2 FTD vs Inki 第一场 11.21
2020/11/23 DOTA
让python在hadoop上跑起来
2016/01/27 Python
机器学习的框架偏向于Python的13个原因
2017/12/07 Python
Python构建网页爬虫原理分析
2017/12/19 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
2020/02/07 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
2014年党课学习材料
2014/05/11 职场文书
2014年统战工作总结
2014/12/09 职场文书
2016三八妇女节慰问信
2015/11/30 职场文书
详解php中流行的rpc框架
2021/05/29 PHP
Pillow图像处理库安装及使用
2022/04/12 Python