根据请求参数实现条件分支

应用场景

有时我们需要根据不同的请求参数来组装SQL的不同条件语句,例如当请求参数传入了年龄参数就需要获取符合年龄条件的 人员,如果请求未传入年龄参数则不需要根据年龄过滤数据,此类场景在一条SQL查询语句中显然无法实现。

此时便需要我们使用执行提供器配置方式(provider配置)来完成复杂的SQL条件分支实现。

provider

provider配置采用JavaScript实现,定义了provider意味着微服务接口接下来的执行脚本(包括totalexec)由provider定义的JavaScript返回。

只返回exec执行脚本

provider返回格式可以是简单的字符串,返回的字符串直接用于exec执行,如下所示:

  provider = <<SQL
  (function(){
    return "SELECT * FROM ..."
  })()
  SQL

同时返回totalexec

provider可以返回用于分页查询接口的totalexec脚本,如下所示:

  provider = <<SQL
  (function(){

      return {
        total: "SELECT count(*) FROM ...",
        exec:  "SELECT * FROM ... OFFSET :offset LIMIT :limit"
      }


  })()
  SQL

同时返回脚本类型

  provider = <<SQL
  (function(){

      return {
        total: "SELECT count(*) FROM ...",
        exec:  "SELECT * FROM ... OFFSET :offset LIMIT :limit",
        impl:  "sql"
      }


  })()
  SQL
  • total可以不存在于返回结果中,存在则表示实现分页查询接口
  • impl可以是js(表示JavaScript脚本)、cmd(表示SHELL脚本命令)。

results matching ""

    No results matching ""

    results matching ""

      No results matching ""