记最近工作中 Mybatis sql 的使用技巧

一、背景

本项目是一个公司内部平台,领导想让所有人都能用,从业务、产品、到开发、测试几乎是所有人,所以实体关系就比较复杂,关系反复修改关联,导致 sql  越写越复杂。

直到最近一次更改出现了下面问题。

二、问题

实体 A 关联了 实体 B ,而且展示的时候 A 需要关联展示 B 的很多属性,所以就直接在 A 中引用了一个 B 的对象。(事实上在上个版本已经这样设计了,前端也已经按这种方式渲染了)

class A {

    ....
    B  b;

}

产品领导又让临时增加以 B 的属性作为查询条件来查询 A。

三、解决方法

为了尽量少地让前端保持不动,或者是少动,我修改了sql:

select tb_a.*, tb_b.xxx as `b.xxx` from tb_a left join tb_b on tb_a.xx=tb_b.xx where ....

核心的是 tb_b.xxx as `b.xxx`, 直接将查询结果映射到了 A 实体中的 b 对象中。

记得刚工作那会写过类似的 sql  只是好久没这样写了,这里只是做个笔记,用的时候方便查看~


如果觉得还不错的话,关注、分享、在看, 原创不易,且看且珍惜~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【非典型Coder】

赏个鸡腿吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值