问题说明
因为需要连表查询所以使用到了MyBatis Plus的${ew.customSqlSegment}
,如果连接的表中有相同的字段肯定需要使用别名,但是这个拼接的条件无法加别名,官网也无法解决这个问题
解决方案
其实解决方案很简单但只适用稍微简单一点的sql,只需要外面嵌套一层查询
原sql语句
SELECT po.*
FROM PAY_ORDER po
LEFT JOIN PAY_STATION_CONFIG psc ON psc.SITE_CODE = po.SITE_CODE
${ew.customSqlSegment}
封装后的sql语句
select * FROM
(
SELECT po.*
FROM PAY_ORDER po
LEFT JOIN PAY_STATION_CONFIG psc ON psc.SITE_CODE = po.SITE_CODE
)
${ew.customSqlSegment}
如果遇到语句有group by或者更复杂的sql,只能想办法去掉sql查询的别名