缺少表达式SQLMAP
我想在用模糊查询查询东西,但老是出现缺少表达式,SQLMAP中代码如下:
<select id="newsSsou" parameterClass="jf.bean.empBean" resultClass="jf.bean.empBean">
select n.newsno as newsNo,
n.title as title,
n.newsdate as newsDate,
n.note as note
from jfnews n
where
<dynamic>
<isNotEmpty property="startDate">
<![CDATA[
n.newsdate >= #startDate#
]]>
</isNotEmpty>
<isNotEmpty prepend="AND" property="endDate">
<![CDATA[
n.newsdate <= #endDate#
]]>
</isNotEmpty>
<isNotEmpty prepend="AND" property="title">
n.title like '%$title$%'
</isNotEmpty>
</dynamic>
去掉
<isNotEmpty prepend="AND" property="title">
n.title like '%$title$%'
</isNotEmpty>
这个是可以运行的,但加上就报缺少表达式了,我看了好多边,SQL语句没写错啊,有谁能帮我看看,谢谢了
------解决方案--------------------你的条件之间没有and连接,如果你的title和 startDate、 endDate都不为空,你得到的SQL语句是错的。
你可以在where 后面加个1=1 然后< isNotEmpty> 标签里面的子句前加and
------解决方案--------------------'%'||#title#||'%' 试试