qq_42136251
小白zx编程
2020-03-30 15:55
采纳率: 80%
浏览 164
已采纳

ssm中多条件查询 报SQL语句“无效字符”?

各位老师,运用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





这是报的错误信息:
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • qq_23126581
    已采纳
    像你们这种只给图片的我都不想敲代码
    
    where  1=1 xxxxx    1=1要放在if条件外面。
    <where>
            1=1
                    <if>
                         and xxxxx等于xxxxx
                    </if>
    </where>
    
    你的无效字符问题无非是1.字段写错了,2.sql后面加了分号;      看你这种应该是字段错了吧,你把sql去数据库工具查询下
    
    点赞 评论
  • lppzyt
    lppzyt 2020-03-30 17:07

    1.用了where标签就不要用1=1了。具体可查看下where标签的用法。2.配置一下mybaties的日志级别,调成debug级别就能看到具体的sql代码了。
    怀疑eventDeptMain这个变量有特殊字符

    点赞 评论
  • zhangpan_soft
    zhangpan_soft 2020-03-30 21:12

    回复小白zx编程: 不建议去除where标签,建议第一个if里面吧and 1=1 and去掉

    点赞 评论

相关推荐