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的检查