idea 检查XML文件报错问题解决(expected, got ‘order’ ,’;’ expected, got ‘desc’,expected, All,)
在使用MybatisCodeHelperPro插件后
expected, got ‘order’ 报错
expected, All,········· 报错
‘;’ expected, got ‘desc’ 报错 解决方法
1.使用choose when 分支报错
例:
<choose><when test=\"sort != null and sort.trim() != \'\'\">order by(此处会报错) ${sort} ${order}</when><otherwise>order by id (此处会报错)desc</otherwise></choose><!--报错提示为:<expression> expected, got \'order\'-->
解决方法:
<choose><when test=\"sort != null and sort.trim() != \'\'\"><!--@ignoreSql-->ORDER BY ${sort} ${order}</when><otherwise>ORDER BY id DESC</otherwise></choose><!--idea 检查通过 问题解决-->
原因:装了MybatisCodeHelperPro插件后 ,会动态分析你写的SQL进行语法检查,动态分析时忽略该语句就可以通过语法检查
2.使用SQL 提取报错
例:
<sql id=\"sql_condition\"> <!--这里检查会报错--><where><if test=\"id != null and id != \'\'\"> and id = #{id} </if></where></sql><!--报错信息:<expression> expected, All,········· --><!-- 鼠标悬停后idea 给的解决方法是添加前缀后缀 Add sql priefx and suffix-->
解决方法:
<sql id=\"sql_condition\"><!--@sql SELECT*FROM 这里是你的表名活语句前缀 --><where><if test=\"id != null and id != \'\'\"> and id = #{id} </if></where></sql><!--idea 检查通过 问题解决-->
原因:装了MybatisCodeHelperPro插件后 ,会动态分析你写的SQL进行语法检查,给语句加上前缀后是一个完整的语句就可以通过MybatisCodeHelperPro的检查