3.5.2的mybatis-plus中的sql别名为rs会报错问题

同事今天早上发现了bug,这段sql在navicat中正常运行,但是项目跑起来就会报错

SELECT
	s.security_id AS securityId,
	s.security_name AS securityName,
	s.ding_talk_id AS userId,
	rs.year_num AS yearNum,
	rs.shift_month_day AS shiftMonthDay,
	sh.id AS shiftId,
	sh.shift_name AS shiftName 
FROM
	ssmpx_hr.tbl_security_staff s
	LEFT JOIN tbl_security_refer_shift rs ON rs.security_id = s.security_id 
	AND rs.del_flag = 0
	LEFT JOIN tbl_attendance_shift sh ON sh.id = rs.shift_id 
	AND sh.del_flag = 0 
WHERE
	s.del_flag = 0 
	AND s.ding_talk_id IS NOT NULL 
	AND s.ding_talk_activate_status = 1 
	AND rs.year_num = 2025 
	AND rs.shift_month_day IN (
	'01/01')

具体报错如下截图

找到具体位置位于,userId后面会多出一个逗号

网上查找原因找了一个类似问题,


用了注解确实可以,所以猜测是租户问题,但是应该没问题,所以就换成select s.,然后报错就换了一个,
Encountered unexpected token: "rs" <K_ISOLATION>
加上rs.
报错又变回来了
后面同事想到改名,把rs改成ars,居然就正常了

后面查询了一下,发现这个是2022年提出来的问题了,

posted @ 2025-03-13 12:52  狗狗没有坏心眼  阅读(47)  评论(0)    收藏  举报