项目里用的是sqlserver的数据库。直接上代码
<select id = "testID">
select * from TableName where 1=1
<dynamic prepend="AND">
<isNotEmpty prepend="AND" property="TripNo">
TripNo= like '%$TripNo$%'
</isNotEmpty>
</dynamic>
</select>
测试得到有效的两种方法(sqlserver)
(1)用连接符##
select * from TableName where TripNo like '%' + #TripNo# + '%'
(2)用$,直接拼出来一个模糊查询的 like '%xxx%'(没有类型检查,有sql注入的风险)
select * from TableName where TripNo like '%$TripNo$%'
其他的数据库方法:
mysql:
select * from TableName where TripNo like concat('%', #TripNo#, '%')
Oracle:
select * from TableName where TripNo like '%' || #TripNo# || '%'