<statement>or DELIMITER expected, got ‘id‘)的原因及解决办法

Idea mybatis的xml报错

可能的原因:
在idea里,sql节点有语言注入有检测,你在sql节点写sql语句都不会报错,那么判断检测是根据sql的语言来进行相关判断的,而我们通常在sql节点内的内容都是这样

<sql id="Base_Column_List">
    id, name, create_time, delete_flag
  </sql>

对于idea来说,它认为这不符合sql的验证,所以报错

解决办法
一、不检查sql节点的语法,如图:

二、嗯在sql节点内加点东西:像这样:

<sql id="Base_Column_List" lang="" databaseId="" >
        <if test="true">
            id, name, create_time,delete_flag
        </if>
    </sql>

总结

在xml里面调用<include refid="Base_Column_List"/>这玩意,其实是在sql里面拼接进相关的代码进去,而sql节点又会对里面的内容进行sql扫描,发现你不符合规范就报错了

结束语(个人查询所得,如有错误欢迎纠正)
posted @ 2023-02-03 18:31  一统天下。  阅读(2309)  评论(0编辑  收藏  举报