$vs.sqlHelperGusenScript Language语言中提供SQL拼接的工具类的对象,具体方法定义如下:

  • 通用

  • and($form:Object,$tableFieldId:String):String

    • 函数说明:
      返回SQLand条件拼接字符串

    • 参数说明:
      $form:Object|Map查询条件对象
      $tableFieldId:String表字段

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      // $form - 页面层传值的查询条件{USER_ID:'0010',USER_NAME:null}
      
      #set($sql = 'select * from table where 1=1')
      
      // 当$form.USER_ID非空时,返回 'and USER_ID = #{USER_ID}'
      // 当$form.USER_ID为空时,返回 '' 空字符串。
      #set($sql = $sql + $vs.sqlHelper.and($form,'USER_ID'))
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and USER_ID = #{USER_ID}'
      #set($sql = $sql + $vs.sqlHelper.and($form,'USER_NAME')) // 由于$form.USER_NAME为空,所以此处不产生任何效果
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and USER_ID = #{USER_ID}'
      
      #set($page = $vs.dbTools.findPage($sql,$form))
      

      等效调用

      #set($sql = $sql + $vs.sqlHelper.and($form,'USER_ID'))等效于:

        #if ($vs.util.isNotNull($form.USER_ID))
            #set($sql = $sql + ' and USER_ID = #{USER_ID} ')
        #end
  • and($form:Object,$tableFieldId:String,$dataFieldId:String):String

    • 函数说明:
      返回SQLand条件拼接字符串

    • 参数说明:
      $form:Object|Map查询条件对象
      $tableFieldId:String表字段
      $dataFieldId:String$form字段 (默认同$tableFieldId

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      // $form - 页面层传值的查询条件{USER_ID:'0010',USER_NAME:null}
      
      #set($sql = 'select * from table where 1=1')
      
      // 当$form.USER_ID非空时,返回 'and USER_ID = #{USER_ID}'
      // 当$form.USER_ID为空时,返回 '' 空字符串。
      #set($sql = $sql + $vs.sqlHelper.and($form,'USER_CODE','USER_ID'))
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and USER_CODE = #{USER_ID}'
      #set($sql = $sql + $vs.sqlHelper.and($form,'USER_NAME')) // 由于$form.USER_NAME为空,所以此处不产生任何效果
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and USER_CODE = #{USER_ID}'
      
      #set($page = $vs.dbTools.findPage($sql,$form))

      等效调用

      #set($sql = $sql + $vs.sqlHelper.and($form,'USER_CODE','USER_ID'))等效于:

        #if ($vs.util.isNotNull($form.USER_ID))
            #set($sql = $sql + ' and USER_CODE = #{USER_ID} ')
        #end
  • LIKE

  • like($form:Object,$tableFieldId:String):String

    • 函数说明:
      返回SQLlike条件拼接字符串

    • 参数说明:
      $form:Object|Map查询条件对象
      $tableFieldId:String表字段

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      // $form - 页面层传值的查询条件{USER_ID:'0010',USER_NAME:null}
      
      #set($sql = 'select * from table where 1=1')
      
      // 当$form.USER_ID非空时,返回 ' SQLTools.like(USER_ID,#{USER_ID})'
      // 当$form.USER_ID为空时,返回 ' 1 =1'#set($sql = $sql + ' and ' + $vs.sqlHelper.like($form,'USER_ID'))
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and SQLTools.like(USER_ID,#{USER_ID})'
      #set($sql = $sql + ' and ' + $vs.sqlHelper.like($form,'USER_NAME')) // 由于$form.USER_NAME为空,所以此处不产生任何效果
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and SQLTools.like(USER_ID,#{USER_ID})'
      
      #set($page = $vs.dbTools.findPage($sql,$form))

      等效调用

      #set($sql = $sql + ' and ' + $vs.sqlHelper.like($form,'USER_ID'))等效于:

        #if ($vs.util.isNotNull($form.USER_ID))
            #set($sql = $sql + ' and SQLTools.like(USER_ID,#{USER_ID}) ')
        #end
  • like($form:Object,$tableFieldId:String,$dataFieldId:String):String

    • 函数说明:
      返回SQLlike条件拼接字符串

    • 参数说明:
      $form:Object|Map查询条件对象
      $tableFieldId:String表字段
      $dataFieldId:String$form字段 (默认同$tableFieldId

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      // $form - 页面层传值的查询条件{USER_ID:'0010',USER_NAME:null}
      
      #set($sql = 'select * from table where 1=1')
      
      // 当$form.USER_ID非空时,返回 ' SQLTools.like(USER_ID,#{USER_ID})'
      // 当$form.USER_ID为空时,返回 ' 1 = 1 ' 空字符串。
      #set($sql = $sql + ' and ' + $vs.sqlHelper.like($form,'USER_CODE','USER_ID'))
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and SQLTools.like(USER_CODE,#{USER_ID})'
      #set($sql = $sql + ' and ' + $vs.sqlHelper.like($form,'USER_NAME')) // 由于$form.USER_NAME为空,所以此处不产生任何效果
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and SQLTools.like(USER_CODE,#{USER_ID})'
      
      #set($page = $vs.dbTools.findPage($sql,$form))

      等效调用

      #set($sql = $sql + ' and ' + $vs.sqlHelper.like($form,'USER_CODE',USER_ID'))等效于:

        #if ($vs.util.isNotNull($form.USER_ID))
            #set($sql = $sql + ' and SQLTools.like(USER_CODE,#{USER_ID}) ')
        #end
  • andLike($form:Object,$tableFieldId:String):String

    • 函数说明:
      返回SQLlike条件拼接字符串

    • 参数说明:
      $form:Object|Map查询条件对象
      $tableFieldId:String表字段

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      // $form - 页面层传值的查询条件{USER_ID:'0010',USER_NAME:null}
      
      #set($sql = 'select * from table where 1=1')
      
      // 当$form.USER_ID非空时,返回 'and SQLTools.like(USER_ID,#{USER_ID})'
      // 当$form.USER_ID为空时,返回 '' 空字符串。
      #set($sql = $sql + $vs.sqlHelper.andLike($form,'USER_ID'))
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and SQLTools.like(USER_ID,#{USER_ID})'
      #set($sql = $sql + $vs.sqlHelper.andLike($form,'USER_NAME')) // 由于$form.USER_NAME为空,所以此处不产生任何效果
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and SQLTools.like(USER_ID,#{USER_ID})'
      
      #set($page = $vs.dbTools.findPage($sql,$form))

      等效调用

      #set($sql = $sql + $vs.sqlHelper.andLike($form,'USER_ID'))等效于:

        #if ($vs.util.isNotNull($form.USER_ID))
            #set($sql = $sql + ' and SQLTools.like(USER_ID,#{USER_ID}) ')
        #end
  • andLike($form:Object,$tableFieldId:String,$dataFieldId:String):String

    • 函数说明:
      返回SQLlike条件拼接字符串

    • 参数说明:
      $form:Object|Map查询条件对象
      $tableFieldId:String表字段
      $dataFieldId:String$form字段 (默认同$tableFieldId

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      // $form - 页面层传值的查询条件{USER_ID:'0010',USER_NAME:null}
      
      #set($sql = 'select * from table where 1=1')
      
      // 当$form.USER_ID非空时,返回 'and SQLTools.like(USER_ID,#{USER_ID})'
      // 当$form.USER_ID为空时,返回 '' 空字符串。
      #set($sql = $sql + $vs.sqlHelper.andLike($form,'USER_CODE','USER_ID'))
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and SQLTools.like(USER_CODE,#{USER_ID})'
      #set($sql = $sql + $vs.sqlHelper.andLike($form,'USER_NAME')) // 由于$form.USER_NAME为空,所以此处不产生任何效果
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and SQLTools.like(USER_CODE,#{USER_ID})'
      
      #set($page = $vs.dbTools.findPage($sql,$form))

      等效调用

      #set($sql = $sql + $vs.sqlHelper.andLike($form,'USER_CODE',USER_ID'))等效于:

        #if ($vs.util.isNotNull($form.USER_ID))
            #set($sql = $sql + ' and SQLTools.like(USER_CODE,#{USER_ID}) ')
        #end
  • IN

  • listIn($values:List,$tableFieldId:String):String

    • 函数说明:
      返回SQLin条件拼接字符串

    • 参数说明:
      $values:List<String>数据值
      $tableFieldId:String表字段

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      #set($userIds = $vs.util.newList())
      $userIds.add('0000');
      $userIds.add('0001');
      $userIds.add('0002');
      $userIds.add('0003');
      
      #set($sql = 'select * from table where 1=1')
      
      // 当$values非空时,返回 " USER_ID in ('0000','0001','0002','0003') "  注意:这里是没有 and or 的
      // 当$values为空时,返回 ' 1 = 2 ' 空字符串。
      #set($sql = $sql + ' and ' + $vs.sqlHelper.listIn($userIds,'USER_ID'))
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and USER_ID in ('0000','0001','0002','0003')'
      #set($sql = $sql + ' and ' + $vs.sqlHelper.listIn($userIds,'USER_NAME')) // 由于$form.USER_NAME为空,所以此处不产生任何效果
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and USER_ID in ('0000','0001','0002','0003') and 1=1 '
      
      #set($page = $vs.dbTools.findPage($sql,$form))
  • strIn($values:String,$tableFieldId:String):String

    • 函数说明:
      返回SQLin条件拼接字符串

    • 参数说明:
      $values:String数据值(以,分隔)
      $tableFieldId:String表字段

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      #set($userIds = '0000,0001,0002,0003')
      
      #set($sql = 'select * from table where 1=1')
      
      // 当$values非空时,返回 " USER_ID in ('0000','0001','0002','0003') "  注意:这里是没有 and or 的
      // 当$values为空时,返回 ' 1 = 2 ' 空字符串。
      #set($sql = $sql + ' and ' + $vs.sqlHelper.strIn($userIds,'USER_ID'))
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and USER_ID in ('0000','0001','0002','0003')'
      #set($sql = $sql + ' and ' + $vs.sqlHelper.strIn($userIds,'USER_NAME')) // 由于$form.USER_NAME为空,所以此处不产生任何效果
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and USER_ID in ('0000','0001','0002','0003') and 1=1 '
      
      #set($page = $vs.dbTools.findPage($sql,$form))
  • listNotIn($values:List,$tableFieldId:String):String

    • 函数说明:
      返回SQLnot in条件拼接字符串

    • 参数说明:
      $values:List<String>数据值
      $tableFieldId:String表字段

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      #set($userIds = $vs.util.newList())
      $userIds.add('0000');
      $userIds.add('0001');
      $userIds.add('0002');
      $userIds.add('0003');
      
      #set($sql = 'select * from table where 1=1')
      
      // 当$values非空时,返回 " USER_ID in ('0000','0001','0002','0003') "  注意:这里是没有 and or 的
      // 当$values为空时,返回 ' 1 = 1 ' 空字符串。
      #set($sql = $sql + ' and ' + $vs.sqlHelper.listNotIn($userIds,'USER_ID'))
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and USER_ID not in ('0000','0001','0002','0003')'
      #set($sql = $sql + ' and ' + $vs.sqlHelper.listNotIn($userIds,'USER_NAME')) // 由于$form.USER_NAME为空,所以此处不产生任何效果
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and USER_ID not in ('0000','0001','0002','0003') and 1=1 '
      
      #set($page = $vs.dbTools.findPage($sql,$form))
  • strNotIn($values:String,$tableFieldId:String):String

    • 函数说明:
      返回SQLnot in条件拼接字符串

    • 参数说明:
      $values:String数据值(以,分隔)
      $tableFieldId:String表字段

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      #set($userIds = '0000,0001,0002,0003')
      
      #set($sql = 'select * from table where 1=1')
      
      // 当$values非空时,返回 " USER_ID in ('0000','0001','0002','0003') "  注意:这里是没有 and or 的
      // 当$values为空时,返回 ' 1 = 1 ' 空字符串。
      #set($sql = $sql + ' and ' + $vs.sqlHelper.strNotIn($userIds,'USER_ID'))
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and USER_ID not in ('0000','0001','0002','0003')'
      #set($sql = $sql + ' and ' + $vs.sqlHelper.strNotIn($userIds,'USER_NAME')) // 由于$form.USER_NAME为空,所以此处不产生任何效果
      $vs.log.inf($sql) // <-- 'select * from table where 1=1 and USER_ID not in ('0000','0001','0002','0003') and 1=1 '
      
      #set($page = $vs.dbTools.findPage($sql,$form))
  • DATE

  • date($form:Object,tableFieldId:string):string

    • 函数说明:
      返回SQLdate条件拼接字符串

    • 参数说明:
      $form:Object|Map查询条件对象
      $tableFieldId:String表字段(可接受的日期格式:yyyy-MM-dd、yyyy.MM.dd、yyyy/MM/dd)

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      等效调用

      #set($sql = $sql + ' and ' + $vs.sqlHelper.date($form,'CREATE_DATE'))等效于:

        #if ($vs.util.isNotNull($form.CREATE_DATE))
            #set($sql = $sql + " and CREATE_DATE = SQLTools.toDate(#{CREATE_DATE},'yyyy-MM-dd') ")
        #end
  • date($form:Object,tableFieldId:string,dataFieldId:string):string

    • 函数说明:
      返回SQLdate条件拼接字符串

    • 参数说明:
      $form:Object|Map查询条件对象
      $tableFieldId:String表字段(可接受的日期格式:yyyy-MM-dd、yyyy.MM.dd、yyyy/MM/dd)
      $dataFieldId:string值字段

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      等效调用

      #set($sql = $sql + ' and ' + $vs.sqlHelper.date($form,'CREATE_DATE','_CREATE_DATE_START_'))等效于:

        #if ($vs.util.isNotNull($form._CREATE_DATE_START_))
            #set($sql = $sql + " and CREATE_DATE = SQLTools.toDate(#{_CREATE_DATE_START_},'yyyy-MM-dd') ")
        #end
  • date($form:Object,tableFieldId:string,dataFieldId:string,dateFmt:string):string

    • 函数说明:
      返回SQLdate条件拼接字符串

    • 参数说明:
      $form:Object|Map查询条件对象
      $tableFieldId:String表字段
      $dataFieldId:string值字段
      $dateFmt:string日期格式,如:yyyy-MM-dd

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      等效调用

      #set($sql = $sql + ' and ' + $vs.sqlHelper.date($form,'CREATE_DATE','_CREATE_DATE_START_','yyyy-MM-dd'))等效于:

        #if ($vs.util.isNotNull($form._CREATE_DATE_START_))
            #set($sql = $sql + " and CREATE_DATE = SQLTools.toDate(#{_CREATE_DATE_START_},'yyyy-MM-dd') ")
        #end
  • andDate($form:Object,tableFieldId:string):string

    • 函数说明:
      返回SQLdate条件拼接字符串

    • 参数说明:
      $form:Object|Map查询条件对象
      $tableFieldId:String表字段(可接受的日期格式:yyyy-MM-dd、yyyy.MM.dd、yyyy/MM/dd)

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      等效调用

      #set($sql = $sql + $vs.sqlHelper.andDate($form,'CREATE_DATE'))等效于:

        #if ($vs.util.isNotNull($form.CREATE_DATE))
            #set($sql = $sql + " and CREATE_DATE = SQLTools.toDate(#{CREATE_DATE},'yyyy-MM-dd') ")
        #end
  • andDate($form:Object,tableFieldId:string,dataFieldId:string):string

    • 函数说明:
      返回SQLdate条件拼接字符串

    • 参数说明:
      $form:Object|Map查询条件对象
      $tableFieldId:String表字段(可接受的日期格式:yyyy-MM-dd、yyyy.MM.dd、yyyy/MM/dd)
      $dataFieldId:string值字段

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      等效调用

      #set($sql = $sql + $vs.sqlHelper.andDate($form,'CREATE_DATE','_CREATE_DATE_START_'))等效于:

        #if ($vs.util.isNotNull($form._CREATE_DATE_START_))
            #set($sql = $sql + " and CREATE_DATE = SQLTools.toDate(#{_CREATE_DATE_START_},'yyyy-MM-dd') ")
        #end
  • andDate($form:Object,tableFieldId:string,dataFieldId:string,dateFmt:string):string

    • 函数说明:
      返回SQLdate条件拼接字符串

    • 参数说明:
      $form:Object|Map查询条件对象
      $tableFieldId:String表字段
      $dataFieldId:string值字段
      $dateFmt:string日期格式,如:yyyy-MM-dd

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      等效调用

      #set($sql = $sql + $vs.sqlHelper.andDate($form,'CREATE_DATE','_CREATE_DATE_START_','yyyy-MM-dd'))等效于:

        #if ($vs.util.isNotNull($form._CREATE_DATE_START_))
            #set($sql = $sql + " and CREATE_DATE = SQLTools.toDate(#{_CREATE_DATE_START_},'yyyy-MM-dd') ")
        #end
  • dateBetween($form:Object,tableFieldId:string,startDateFieldId:string,endDateFieldId:string):string

    • 函数说明:
      返回SQLdate条件拼接字符串

    • 参数说明:
      $form:Object|Map查询条件对象
      $tableFieldId:String表字段
      $startDateFieldId:string开始日期字段(可接受的日期格式:yyyy-MM-dd、yyyy.MM.dd、yyyy/MM/dd)
      $endDateFieldId:string结束日期字段(可接受的日期格式:yyyy-MM-dd、yyyy.MM.dd、yyyy/MM/dd)

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      等效调用

      #set($sql = $sql + ' and ' + $vs.sqlHelper.dateBetween($form,'CREATE_DATE','_CREATE_DATE_DATE_START_','_CREATE_DATE_DATE_END_'))等效于:

        #if ($vs.util.isNotNull($form._CREATE_DATE_DATE_START_))
            #set($sql = $sql + " and CREATE_DATE >= SQLTools.toDate(#{_CREATE_DATE_START_},'yyyy-MM-dd') ")
        #end
      
        #if ($vs.util.isNotNull($form._CREATE_DATE_DATE_END_))
            #set($sql = $sql + " and CREATE_DATE <= SQLTools.toDate(SQLTools.concat(#{_CREATE_DATE_DATE_END_},' 23:59:59'),'yyyy-MM-dd HH:mm:ss') ")
        #end
      
  • andDateBetween($form:Object,tableFieldId:string,startDateFieldId:string,endDateFieldId:string):string

    • 函数说明:
      返回SQLdate条件拼接字符串

    • 参数说明:
      $form:Object|Map查询条件对象
      $tableFieldId:String表字段
      $startDateFieldId:string开始日期字段(可接受的日期格式:yyyy-MM-dd、yyyy.MM.dd、yyyy/MM/dd)
      $endDateFieldId:string结束日期字段(可接受的日期格式:yyyy-MM-dd、yyyy.MM.dd、yyyy/MM/dd)

    • 返回说明:
      返回SQL字符串,具体见调用示例

    • 调用示例:

      等效调用

      #set($sql = $sql + $vs.sqlHelper.andDateBetween($form,'CREATE_DATE','_CREATE_DATE_DATE_START_','_CREATE_DATE_DATE_END_'))等效于:

        #if ($vs.util.isNotNull($form._CREATE_DATE_DATE_START_))
            #set($sql = $sql + " and CREATE_DATE >= SQLTools.toDate(#{_CREATE_DATE_START_},'yyyy-MM-dd') ")
        #end
      
        #if ($vs.util.isNotNull($form._CREATE_DATE_DATE_END_))
            #set($sql = $sql + " and CREATE_DATE <= SQLTools.toDate(SQLTools.concat(#{_CREATE_DATE_DATE_END_},' 23:59:59'),'yyyy-MM-dd HH:mm:ss') ")
        #end
      
文档更新时间: 2022-07-11 15:25   作者:姜一维