一、该问题的重现步骤是什么?
1. mybatis自定义查询中使用变量时,@符号不能被jsqparser解析,
其原因是因为项目中使用的jsqparser1.2版本太低,至少在1.4就可以支持该符号的解析。
二、你期待的结果是什么?实际看到的又是什么?
该符号在mysql查询排名问题时会经常使用到。
自己偿试升级该jar,但未能找到其具体引入位置,从而未能解决问题
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
bladeX2.0.6
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
升级mybatis-plus到3.2.0,bladex下个版本会更新
3.2.0版本没有了此效率插件
其中的租户 handler中的方法变了,
如果升级不要这个插件和改写这个handler实现 ,会不会对目前有什么影响?
看bladex-tool最新的dev分支
在排序查询中,出现了@、:等符号时,不能被解析
查询如下:
SET @rownum = 0; SELECT @rownum:= @rownum+1 AS classRank, s.user_id AS userId, l.title AS examName, l.subject AS subjectId, s.score FROM `jza_teaching_score` s LEFT JOIN `jza_teaching_score_des` l ON s.log_id = l.id WHERE s.is_deleted = 0 AND s.log_id = idORDER BY s.score DESC
最终解决方法:
在对应方法上加注解:
@SqlParser(filter = true)
扫一扫访问 Blade技术社区 移动端