$vs.sqlHelper
是GusenScript Language
语言中提供SQL拼接的工具类的对象,具体方法定义如下:
- 通用
- and($form:Object,$tableFieldId:String):String
- and($form:Object,$tableFieldId:String,$dataFieldId:String):String
- LIKE
- like($form:Object,$tableFieldId:String):String
- like($form:Object,$tableFieldId:String,$dataFieldId:String):String
- andLike($form:Object,$tableFieldId:String):String
- andLike($form:Object,$tableFieldId:String,$dataFieldId:String):String
- IN
- listIn($values:List
,$tableFieldId:String):String - strIn($values:String,$tableFieldId:String):String
- listNotIn($values:List
,$tableFieldId:String):String - strNotIn($values:String,$tableFieldId:String):String
- DATE
- date($form:Object,tableFieldId:string):string
- date($form:Object,tableFieldId:string,dataFieldId:string):string
- date($form:Object,tableFieldId:string,dataFieldId:string,dateFmt:string):string
- andDate($form:Object,tableFieldId:string):string
- andDate($form:Object,tableFieldId:string,dataFieldId:string):string
- andDate($form:Object,tableFieldId:string,dataFieldId:string,dateFmt:string):string
- dateBetween($form:Object,tableFieldId:string,startDateFieldId:string,endDateFieldId:string):string
- andDateBetween($form:Object,tableFieldId:string,startDateFieldId:string,endDateFieldId:string):string
通用
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