使用ssm编写的一个功能输入机器编号,开始时间,结束时间,查找实现过程中,当机器编号输入一个不存在的值,或者开始时间空着,都会报错,错误显示是sql语句错误mybatis的xml文件中,sql语句如下:<select id="findByRowBounds" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from yujing_record <where> <if test="macid != null and macid !=''"> and macid like concat('%',#{macid},'%') </if> <if test="start != null and start !=''"> and time <![CDATA[>]]> #{start} </if> <if test="end != null and end !=''"> and time <![CDATA[<]]> #{end} </if> </where> order by time desc limit #{sindex},#{size} </select>
2 回答
sunbohan00
TA贡献44条经验 获得超73个赞
if判断语句的问题,可能是我见得少吧,你这么写的我确实没见过,
当空值的时候,if判断没有生效,所以空值进行搜索会报错。
试试这样
<if end != null and end !=“”>
and time #{end}
</if>
添加回答
举报
0/150
提交
取消