oauth_user的Entity類內(nèi)增加
@TableField(exist = false)
private OauthOrganization oauthOrganization;
get...set略過
one=@One方式,此方式的優(yōu)點是寫法簡單彻消,不需要去一一對應(yīng)B表Result,缺點是發(fā)送了n+1次sql查詢(n為A表的查詢結(jié)果的數(shù)量)
@Select("SELECT * FROM `oauth_user`")
@Results({
@Result(property ="oauthOrganization",column="organizationid",
one =@One(select ="com.qfclo.login.mapper.OauthOrganizationMapper.selectById"))}
)
List<OauthUser> selectallwithorg();
left join方式
@Select("SELECT A.*,B.name as oname FROM `oauth_user` A LEFT JOIN `oauth_organization` B ON A.organizationid = B.id")
@Results({
@Result(property ="oauthOrganization.name",column="oname")}
)
List<OauthUser> selectallwithorg1();
此方式優(yōu)點是可以指定B表僅查詢某幾個字段呐馆,此查詢僅發(fā)送一次查詢請求斯议,效率高于第一種方式撒轮,缺點是此方式必須指定B表的Result字段的對應(yīng)方式乞旦。