赞
踩
前言:在使用mybatis-plus过程中,使用条件构造器和分页插件非常效率的提升开发速度,但有些业务需要使用连表查询,此时还想使用条件构造器和使用分页时应该如何操作呢?
Mapper接口层
public interface BookOrderMapper extends BaseMapperPlus<BookOrder, BookOrderVo> {
List<OrderApp> getOrderAppList(@Param("orderState") String orderState);
Page<OrderApp> getOrderAppPage(Page<OrderApp> page, @Param(Constants.WRAPPER) Wrapper<OrderApp> wrapper);
}
xml层
<select id="getOrderAppPage" resultMap="orderApp">
SELECT *
FROM
book_order t2
LEFT JOIN book_order_detail t1 ON t1.order_id = t2.order_id and t1.del_flag = 0
LEFT JOIN t_sku t3 ON t1.sku_id = t3.id
LEFT JOIN books t4 ON t4.book_id = t3.book_id
${ew.customSqlSegment}
</select>
调用
// 查询构造器,如果是连表查询的话建议使用QueryWrapper,这样可以手动指定条件列名 例如:t2.xxx
boolean b = !StringUtils.equals(orderState, "0");
QueryWrapper<OrderApp> queryWrapper = Wrappers.query(OrderApp.class);
queryWrapper.eq("t2.user_id",userId);
queryWrapper.eq(b,"t2.order_state",orderState);
queryWrapper.eq("t2.del_flag","0");
queryWrapper.orderByDesc("t2.create_time");
// 调用sql
Page<OrderApp> orderAppPage = bookOrderMapper.getOrderAppPage(new Page<>(page, pageSize), queryWrapper);
分页插件:
在返回结果使用Page< T >即可
条件构造器:
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。