代码拉取完成,页面将自动刷新
selectByCond
===
select * from user where 1=1
#and(name)#
正如你先前提到的,这是个临时解决方案,虽然能解决and field=?这种SQL的非空判断问题,但不通用,如果是or not(field=?)怎么办,如果是html里输出片段怎么办。我对模板不了解,不知道其它模板有没有解决方案,最好能用统一的语法符号。
这个问题在jSqlBox是用一个单独的函数noNull来解决如:
db.iQueryForMapList("select * from a where 1=1",noNull("and name like ?","%",name,"%"));
但模板和Java不具备可比性,仅供参考。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
这样,beetl也可以扩展,提供类似函数
and函数方便了大部分用途,实在不行,还有if 和else
突然想起能做到,beetl模板支持双定界符,比如
[! and user=#name# ]
如果配置[! ]为定界符,那么beetl有机会将上面的文本翻译成
if(isNotEmpty(name)){
user=#name#
}
即增加语法树if判断,并用第一个碰到的表达式#name# 作为条件。 beetl需要稍微改造一下支持双定界符的不同语义,目前双定界符是一样的(双占位符不一样)
哈哈,又是我select * from user where 1=1
<[AND age=#age#]>
<[AND username=#username#]>
<[]>自动判断参数是否传值 这种还是很爽的
登录 后才可以发表评论