MyBatis联表查询时,主查询表的字段怎么统一加别名(通用方案)

一般来说,MyBatis生成的xml sql文件中,会有一个Base_Column_List,方便查询时直接引用。如下:

select

from tbl_product
where id = id

可是有时候需要联表查询,这时候如果依然这样写显然是不行的,两个表很可能有许多相同的字段,这时候就需要给查询的字段加上表名:

select
tp.id, tp.name, tp....
from tbl_product tp 
left join tbl_mall tm on tp.mall_id = tm.id
where tp.id = id and tm.color = 'red'

但是每次写一个联表查询SQL都需要这样来一次,维护起来就比较困难了。

于是有了下面这种写法:
首先,创建一个Alias_Column_List


    ${alias}.id,  ${alias}.name,  ${alias}....

然后在写SQL的时候,如下引用即可:

select

    

from tbl_product tp 
left join tbl_mall tm on tp.mall_id = tm.id
where tp.id = id and tm.color = 'red'

你可能感兴趣的:(MyBatis联表查询时,主查询表的字段怎么统一加别名(通用方案))