睿阳知识库 睿阳知识库
首页
  • npm库配置
  • PC端

    • npm常用命令
    • vue问题记录
    • SEO基础知识及优化
    • 禁止别人调试我的前端页面代码
  • 移动端

    • 小程序
    • Risun.js使用说明
  • Java

    • Maven库配置
    • RSP开发框架
    • RSP框架插件
  • .NET

    • Nuget库配置
  • Python

    • Pypi库配置
  • 常见问题

    • Word转Pdf字体错乱
    • 使用Jacob进行Word导出PDF
  • 自动部署
  • 前端带路径
  • Linux

    • 应用部署
  • Windows

    • 应用部署
  • 视频监控
  • MySQL系列~
  • 应用高可用
  • 静态代码扫描
  • OpenSSH版本升级
  • 区块链~
  • 软件过程文档目录
  • 著作权申请须知及申报示例
  • 项目申报技巧
  • 项目竣工资料清单
  • 科技项目申报流程及注意事项
  • 初级职称申报
  • 产品需求文档基础知识
  • 产品经理需了解的技术知识
  • 墨刀原型设计指南
  • 文档规范
  • 文档规范
  • 投标工作总结(一)
  • 科技项目申报心得体会
  • 数字孪生
  • AI
  • RSP基础平台
  • RMCloud
  • 区块链
  • 网络态势感知
  • 国产化
  • 数据湖
  • 贡献度
  • 文档编写说明
  • Markdown教程
工作链接
首页
  • npm库配置
  • PC端

    • npm常用命令
    • vue问题记录
    • SEO基础知识及优化
    • 禁止别人调试我的前端页面代码
  • 移动端

    • 小程序
    • Risun.js使用说明
  • Java

    • Maven库配置
    • RSP开发框架
    • RSP框架插件
  • .NET

    • Nuget库配置
  • Python

    • Pypi库配置
  • 常见问题

    • Word转Pdf字体错乱
    • 使用Jacob进行Word导出PDF
  • 自动部署
  • 前端带路径
  • Linux

    • 应用部署
  • Windows

    • 应用部署
  • 视频监控
  • MySQL系列~
  • 应用高可用
  • 静态代码扫描
  • OpenSSH版本升级
  • 区块链~
  • 软件过程文档目录
  • 著作权申请须知及申报示例
  • 项目申报技巧
  • 项目竣工资料清单
  • 科技项目申报流程及注意事项
  • 初级职称申报
  • 产品需求文档基础知识
  • 产品经理需了解的技术知识
  • 墨刀原型设计指南
  • 文档规范
  • 文档规范
  • 投标工作总结(一)
  • 科技项目申报心得体会
  • 数字孪生
  • AI
  • RSP基础平台
  • RMCloud
  • 区块链
  • 网络态势感知
  • 国产化
  • 数据湖
  • 贡献度
  • 文档编写说明
  • Markdown教程
工作链接
  • Java

    • Maven库配置
    • RSP开发框架
    • RSP框架插件
    • 框架插件

      • 工作流
      • Word、PDF、Excel增强
      • 消息提醒
      • 资源打包成ZIP下载
      • 区分多个项目Redis缓存
      • 留言评论
      • 内部消息队列
      • 文件预览增强
      • 在线Excel报表设计
      • 自定义高级查询
        • 一. 下载源码
        • 二. 插件集成
          • 1. [项目]-system
          • 2. [项目]-common
          • 3. [项目]-framework
          • 4. [项目]-admin
          • 5. [项目]-ui
          • 6. 添加全局组件
          • 7. 执行SQL
        • 三. 使用说明
          • 1. 添加注解
          • 2. Mybatis XML
          • 3. 前端使用组件
          • 4. Demo示例
  • .NET

  • Python

  • 常见问题

  • 后端
  • Java
  • 框架插件
孙超
2023-08-07
目录

自定义高级查询

框架添加了自定义高级查询的功能,主版本RSP框架已包含此功能,老版本框架若要使用,请进行如下操作,集成功能:

# 一. 下载源码

下载 自定义高级查询插件 (opens new window)。

custadv

# 二. 插件集成

# 1. [项目]-system

将 system 目录下的domain、mapper、service复制到你的[项目]-system中

xml中文件复制到[项目]-system/src/main/resources/mapper/system中

# 2. [项目]-common

将 common 目录下的文件复制到你[项目]-common对应的目录中

# 3. [项目]-framework

将 framework 目录下的文件复制到你[项目]-framework对应的目录中

# 4. [项目]-admin

将 admin 目录下的文件复制到你[项目]-admin/src/main/java/com/risun/web/controller/system中

# 5. [项目]-ui

将 ui 目录下的文件复制到你[项目]-ui对应的目录中

  • CustAdvSearch/ ——> src/components/

  • caq/ ——> src/views/system/

  • caq.js ——> src/api/system/

# 6. 添加全局组件

在 main.js 中添加如下内容

// 自定义高级查询组件
import CustAdvSearch from '@/components/CustAdvSearch'
...
Vue.component('CustAdvSearch', CustAdvSearch)

# 7. 执行SQL

在你的项目中,执行sql/V1_4__init_cust_adv_search.sql

# 三. 使用说明

# 1. 添加注解

在Controller中,查询列表方法上添加注解@CustomizeAdvancedSearch,例如:

@GetMapping("/list")
@CustomizeAdvancedSearch
public TableDataInfo list(Xx xx) {
    startPage();
    List<Xx> list = xxService.selectXxList(xx);
    return getDataTable(list);
}

# 2. Mybatis XML

在Mybatis XML中,查询列表的sql中,添加如下代码:

<!-- 自定义高级查询 -->
<if test="params.customizeAdvanced != null and params.customizeAdvanced != ''"> 
    ${params.customizeAdvanced} 
</if>
<!-- 自定义高级查询 -->

例如:

<select id="selectXxList" parameterType="Xx" resultMap="XxResult">
    ...
    <where>  
        <if test="xx != null  and xx != ''"> and t.xx = #{xx}</if>

        <!-- 自定义高级查询 -->
        <if test="params.customizeAdvanced != null and params.customizeAdvanced != ''"> 
            ${params.customizeAdvanced} 
        </if>
        <!-- 自定义高级查询 -->
    </where>
</select>

注意:必须为数据库表添加别名,例如: select t.id from t_xx t

# 3. 前端使用组件


<!-- 查询按钮 -->
<el-button type="success" icon="el-icon-zoom-in" size="mini" @click="openCustAdvSearch">高级查询</el-button>

<!--自定义高级查询组件 -->
<!-- 
  tableName: 数据库表名
  tableAlias: 数据库表别名
  searchFunc: 回调查询方法
-->
<cust-adv-search v-if="showCustAdvSearch" :tableName="'t_demo'" :tableAlias="'t'" :searchFunc="customSearch"/>

<!-- 自定义查询标识 -->
data() {
  return {
    ...
    // 打开自定义查询
    showCustAdvSearch: false
  }
}

<!-- 自定义查询方法 -->
methods: {
  openCustAdvSearch() {
    this.showCustAdvSearch = false;
    setTimeout(() => { this.showCustAdvSearch = true; }, 0)
  },
  customSearch(key, params) {
    this.queryParams.pageNum = 1;
    this.queryParams.params[key] = params;
    this.getList();
  }
}

# 4. Demo示例

Demo示例,可参考:src/views/biz/demo/index.vue

在线Excel报表设计
Nuget库配置

← 在线Excel报表设计 Nuget库配置→

最近更新
01
vue问题记录
10-11
02
RSP进度
10-09
03
贡献度
09-28
更多文章>
Copyright © 2014-2025 甘肃睿阳科技有限公司 陇ICP备15001783-1号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式