关于for循环内查询处理的解决方案

关于for循环内查询处理的解决方案

当我们在开发过程中,肯定会遇到根据主表查询多张表并往对象内Set字段,通常对小白来说,最简单粗暴的方法,在for循环内进行查询,这肯定是最直观的想法,但这样会大幅的增加系统的处理速度,那么怎么完美解决这个问题呢?

举个例子,数据库中存在orderTable 订单表,user用户表,store门店表,goodsLeaseSku商品表,当需要查询订单列表的时候会首先会根据查询到订单表的id的list,那么然后呢?

1、查询到主表list
首先,应该查询到主表id的list,即listOrderTableId。
2、充分利用Map
然后,定义三个Map,mapUser,mapStore,mapGoodsLeaseSku,将根据查询条件放到对应的map里
关于for循环内查询处理的解决方案
3、循环订单表
其次,循环主表订单表,利用 map.containsKey()进行判断,对返回对象进行赋值。
关于for循环内查询处理的解决方案
4、其他
在对map进行判断时,有时候会遇到这种情况,就是有些map的key值,对应不上主表里的字段,那么这时候应该这样处理
关于for循环内查询处理的解决方案
在正常的思路中,map的key值应该对应主表中的字段,但是当不对应时,可以先用别的map对这个对象先赋值一些字段,然后通过这个对象get到这个key值。

好了,这个就先写到这吧,如果对小白而言,当正有这个困惑,希望能够帮到你!