idea中使用mybatis的公共sql片段报错:<statement> or DELIMITER expected, got 'xxx'

问题

如以下公共sql片段:会显示<statement> or DELIMITER expected, got 'u'错误

<sql id="base_column_list">  
    u.user_id,u.nick_name,u.email,u.password,u.sex,  
    u.birthday,u.school,u.person_introduction,u.join_time,u.last_login_time,  
    u.last_login_ip,u.status,u.notice_info,u.total_coin_count,u.current_coin_count,  
    u.theme  
</sql>

原因

image

idea会对xml中的所有代码片段进行sql语法的检查(由绿色框包围),而公共sql片段的部分(如上面的问题),显然不符合sql的语法规则,所以会报错。
移除idea对xml的语法检查固然可以解决问题,但是同样会导致所有sql检查都消失不方便编写代码。

解决方法

在idea的File - Settings - Editor - Language Injections中找到xml文件的配置项MyBatis sql|select|insert|update|delete|statement,删去其中的sql,修改为select|insert|update|delete|statement。
移除了对sql片段的sql语法检查。

posted @ 2025-02-11 23:21  eien  阅读(430)  评论(0)    收藏  举报