按照基础教程,现在定义了ds1,里面的sql为
select * from a where 1=1 if(len(${para})=0,'',' and id>'+${para})
是可以在para不输的情况下,不参与条件构成的。
------------------------------
我在定义其他的数据源时,不断的用到这个sql片段: if(len(${para})=0,'',' and id>'+${para})
而且这个sql片段很长啊,能否实现定义个全局变量,当有填时,构建and id>${para}为返回结果,没填时返回空,这样我在数据源定义sql时就可以
select * from a where 1=1 ${para}即可?
这样相当于参数重用,比如我构建一个条件很多的界面,sql就可以写成
select * from a where 1=1
${按日期查询}
${按地区查询}
${按性质查询}
而不是
select * from a where 1=1
if(len(${按日期查询})=0,'',' and my_date>'+${按日期查询})
if(len(${按地区查询})=0,'',' and my_area='+${按地区查询})
if(len(${按性质查询})=0,'',' and my_kind>'+${按性质查询})