使用条件构造器QueryWrapper,SQL语句不会拼接条件构造器里面的语句。
老师您好,使用MP过程出bug无法解决,o(╥﹏╥)o 关键代码如下: @Reference(version = "1.0.0") StoreContactService storeContactService; QueryWrapper<StoreContactEntity> storeContactEntityQueryWrapper = new QueryWrapper<>(); storeContactEntityQueryWrapper.eq("store_id", storeUserEntity.getId()); List<StoreContactEntity> storeContactEntityList = storeContactService.list(storeContactEntityQueryWrapper);
打印的sql语句为:
SELECT id,product_id,specs_name,specs_content,product_price,original_price,status,sort_order,create_time,update_time FROM specs_type
==> Parameters:
<== Columns: id, product_id, specs_name, specs_content, product_price, original_price, status, sort_order, create_time, update_time
<== Row: 1, 1, 规格1, 精品套餐1, 10.00, 10.00, 1, 1, 2020-09-05 22:22:38.0, null
<== Row: 2, 1, 规格2, 精品套餐2, 12.00, 12.00, 1, 1, 2020-09-05 22:23:11.0, null
<== Row: 3, 2, 规格1, 2套餐, 10.00, 10.00, 1, 1, 2020-09-10 17:27:56.0, null
<== Total: 3
把product_id为2的也查询出来了,乍一看代码,SQL语句没有把条件拼接上去。
以为是Service层出了问题,检查之后发现,项目中其他地方的getById,page分页方法均有效,只有使用的条件构造器的地方条件构造器里的调用全部无效。
查看源码发现eq第一个参数要传true,但是默认是true,不抱希望的去测试,果然不是这里的问题。
猜测可能和MP版本有关,原MP版本为3.1.2,升到3.3.2,3.4.0结果相同。
打断点进入QueryWrapper里面,发现entity实体是空的,现在不知道怎么解决。
dubbo 2.5.3版本,springboot 1.5.6.RELEASE。