各位老师,运用ssm框架来做多条件的查询总是报SQL不对,我也没有看出来是什么地方不对,数据库是oracle,麻烦您们帮我看一下谢谢啦!非常感谢您们
这是mapper:
select * from med_safety_adverse_events m
1=1
and m.event_dept_main = #{eventDeptMain}
and m.event_desc = #{eventDesc}
and m.event_class = #{eventClass}
ORDER BY event_dept_main
这是报的错误信息:
像你们这种只给图片的我都不想敲代码
where 1=1 xxxxx 1=1要放在if条件外面。
<where>
1=1
<if>
and xxxxx等于xxxxx
</if>
</where>
你的无效字符问题无非是1.字段写错了,2.sql后面加了分号; 看你这种应该是字段错了吧,你把sql去数据库工具查询下
1.用了where标签就不要用1=1了。具体可查看下where标签的用法。2.配置一下mybaties的日志级别,调成debug级别就能看到具体的sql代码了。
怀疑eventDeptMain这个变量有特殊字符
回复小白zx编程: 不建议去除where标签,建议第一个if里面吧and 1=1 and
去掉