环境
- springcloud 2.1.11
- mybatisplus 3.2.0
- shardingsphere 3.1
问题描述
使用mybatisplush提供单表模糊查询方法生成sql语句,sharding解析时抛出空指针异常
在异常信息之前打印了一条报错信息line 5:13 no viable alternative at input
'(timeLIKE'
被解析的sql语句
SELECT exam_id FROM exam_round WHERE (time LIKE ?)
解决
-
由于是源码问题,所以给官方提了issue。官方以版本太老原由不予解决(3.1版本是2019年发布)。除了修改源码外还有没有其它的办法可以解决此问题,如果有请在评论区留言。
-
不使用mybaitsplus提供的API进行模糊查询,在mapper文件中写sql语句为select id from exam_round where id like ‘%${year}%’ 或 select id from exam_round where id like concat(’%’,’#{year}’,’%’)