数据库用mysql
1,首先区分下#和$的区别:
#:自动类型匹配,常见类型int、string
$:一般两种用法,一种是匹配int类型的参数,一种是传入sql语句部分(所以有sql注入风险)
以下为几种经典用法:
①,in和or语句(如果建立索引,两者性能差不多;否则or语句性能大大降低):
itemid = #itemIds[]# // 解析为or语句或: itemid in #itemIds[]# // 标准in语句或: itemid in ($idsStr$)// 此处idsStr格式为1,2,3...
②比较大小的where语句(不仅仅是日期的比较,只要包含>、<、&号的语句都需要转义> < &,验证xml的合法性,不过用<![CDATA[ ]]>就不需要了。同时注意此符号的使用范围,避免包裹在标签语句之外):
= #startDate# and insert_date < date_add(#endDate#, INTERVAL 1 DAY) ]]>