最新消息:关注【已取消】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

解决java.sql.SQLSyntaxErrorException:ORA-00936:缺失表达式

Javaweb 太平洋学习网 0浏览 评论

javaweb项目报“Cause: java.sql.SQLSyntaxErrorException: ORA-00936: 缺失表达式”错误,从SQLSyntaxErrorException这个单词就可以看出是我们mybatis mapper.xml文件里面的sql语句错误了,于是我检查了自己的mapper.xml文件,先看看我错误的sql语句。

 <select id="findExamResultByArr" parameterType="java.lang.Long" resultMap="BaseResultMap">
    select t.QUESTION_ID, t.MY_ANSWER,t.IS_RIGHT from TBL_EXAM_RESULT t
    where t.EXAM_ID in
    <foreach item="id" collection="array" open="(" separator="," close=")">>
      #{id}
    </foreach>
    and t.IS_RIGHT == 0
  </select>

Cause: java.sql.SQLSyntaxErrorException: ORA-00936: 缺失表达式的意思就是说你缺失了一些符号或者是多了一些不必要的符号,从上面可以看出有两点错误,正确的语句应该是如下这样的。

 <select id="findExamResultByArr" parameterType="java.lang.Long" resultMap="BaseResultMap">
    select t.QUESTION_ID, t.MY_ANSWER,t.IS_RIGHT from TBL_EXAM_RESULT t
    where t.EXAM_ID in
    <foreach item="id" collection="array" open="(" separator="," close=")">
      #{id}
    </foreach>
    and t.IS_RIGHT = 0
  </select>

我的语句多了一个尖括号“>” 和一个等于号“=”,因此以后写sql语句的时候报ORA-00936: 缺失表达式错误,都是因为多了符号或少了符号。

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/javaweb/398.html
"文章很值,打赏犒劳作者一下"
微信号: Javaweb_engineer

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

与本文相关的文章

发表我的评论
取消评论

表情

您的回复是我们的动力!

  • 昵称 (必填)

网友最新评论