Easy-Es Easy-Es
💋首页
  • v3.0.0(当前版本)
  • What's New

    • What' s New In Easy-Es v3.0.0?
  • 历史版本

    • v1.x.x
    • v2.x.x
  • 升级指南

    • 升级到3.x.x说明
💖赞助
  • 开源社区
  • 周边好物
  • 项目PPT (opens new window)
  • 项目介绍
  • 项目成员
  • 参与贡献
加入社区讨论
谁在使用
  • Doc-Apis (opens new window)
  • 健身计划一键生成系统 (opens new window)
  • 极氪汽车
  • Vuepress-theme-vdoing (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • Github (opens new window)
  • 简体中文 (opens new window)
  • English (opens new window)

广告采用随机轮播方式显示 ❤️成为赞助商
💋首页
  • v3.0.0(当前版本)
  • What's New

    • What' s New In Easy-Es v3.0.0?
  • 历史版本

    • v1.x.x
    • v2.x.x
  • 升级指南

    • 升级到3.x.x说明
💖赞助
  • 开源社区
  • 周边好物
  • 项目PPT (opens new window)
  • 项目介绍
  • 项目成员
  • 参与贡献
加入社区讨论
谁在使用
  • Doc-Apis (opens new window)
  • 健身计划一键生成系统 (opens new window)
  • 极氪汽车
  • Vuepress-theme-vdoing (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • Github (opens new window)
  • 简体中文 (opens new window)
  • English (opens new window)
  • 快速入门

    • 简介
    • 适用场景
    • 顾虑粉碎
    • 避坑指南
    • 快速开始
    • springboot集成demo
    • spring集成指南
    • solon集成指南
    • 配置
    • 注解
  • 核心功能

    • 条件构造器

      • 条件构造器介绍
      • 索引条件构造器
      • 查询条件构造器
      • 更新条件构造器
    • 索引CRUD

      • 索引托管模式
      • 索引CRUD
    • 数据CRUD

      • 数据同步方案
      • 数据CRUD
    • 多数据源支持
    • 动态索引支持
    • 四大嵌套查询
    • 链式调用
  • 拓展功能

    • 混合查询
    • 原生查询
    • 分页查询
    • 嵌套类型
    • Join父子类型
    • 获取DSL语句
    • 执行DSL语句
    • 执行SQL语句
    • 自定义RequestOptions
    • 自定义default方法
      • 自定义default方法
  • 高阶语法

    • 查询字段过滤
    • 排序
    • 聚合查询
    • 分词&模糊匹配
    • 权重
    • 高亮查询
    • GEO地理位置查询
    • IP查询
  • 插件

    • 插件
    • 领域模型生成插件
  • 其它

    • 问答
    • 与MP差异
    • MySQL和EE语法对比
    • 更新日志
    • 更新计划
    • 版权
    • 鸣谢
  • v2.x文档
  • 拓展功能
老汉
2024-03-24
目录

自定义default方法

# 自定义default方法

继承自BaseEsMapper的自定义mapper,虽然拥有了BaseEsMapper的所有方法,但是个别场景下,用户期望自定义一些通用公共方法,目前框架还不支持像Mybatis一样可以自定义xml,把dsl写进xml,实际上此功能必要性也不高,因为手写 dsl和手写sql的复杂度是不可相提并论的,dsl本事属于json树形结构,如果使用xml定义,对用户而言负担太重了,并且我们也提供了可以直接执行dsl的api,加上我们提供的已有方法配合混合查询已经可以满足99%的场景开箱即用,1%的场景混合查询满足, 来覆盖用户所有需求,因此短期内暂不考虑支持此功能. 既然不支持自定义xml方法,那么是否可以支持自定义default方法? 我们社区的优秀开发者已经将此功能实现了,由于该PR提交位置不对,我尝试联系未果,PR暂未合并,但代码已由作者代为提交并发布,实际归属仍为acmdl528(githubID)所有.

##使用

    /**
     * 演示mapper中添加default方法
     *
     * @return document列表
     */
    default List<Document> testDefaultMethod() {
            LambdaEsQueryWrapper<Document> wrapper = EsWrappers.lambdaQuery(Document.class)
                .eq(Document::getTitle, "老汉");
            return selectList(wrapper);
    }
1
2
3
4
5
6
7
8
9
10

温馨提示

在此之前,直接在mapper中定义default方法,会报错,想了解原因的可以参考源码中starter模块的register包中相关的代码

帮助我们改善此文档 (opens new window)
上次更新: 2025/05/11
自定义RequestOptions
查询字段过滤

← 自定义RequestOptions 查询字段过滤→

Theme by Vdoing | Copyright © 2021-2025 老汉 | 浙ICP备2022020479号 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式