此次项目写了一个操作数据的Mapper文件,没有使用xml文件,突然出现了错误<statement> or DELIMITER expected, got '<',网上查了好多资料都是针对xml文件的,经过不懈的努力终于找到java文件的解决办法
首先严格来说这不能算做一个错误,这只是在校验的时候不符合规则,但是运行是没有错误的,结果也是正确的,先看看代码
@Select({
"<script>",
"select * from stem where id in",
"<foreach item='item' collection='idList' open='(' separator=',' close=')'>",
"#{item}",
"</foreach>",
"</script>"
})
List<StemBean> selectTestStem(@Param("idList") Integer[] idList);
针对这个问题我采用的解决办法就是不再校验@SELECT之类的sql语句了
方法如下:
Setting→Editor→Language Injections→找到MyBatis@Select/@Delete/@Insert/@Update→将√去掉即可
效果图:
整体不再校验,暂时没发现别的局限性或者错误,如有发现,在进行补发。