Wrapper和XML常用案例

1、xml和Wrapper混合
List getProductList(@Param(Constants.WRAPPER) Wrapper queryWrapper);
SELECT product.*,tenantProduct.price FROM dms_tenant_style AS tenantProduct ${ew.customSqlSegment}
2、if else




order by w.create_time desc


order by w.create_time asc


order by w.create_time desc




3、if

productStyle.width_max,
productStyle.width_min,


and uw.user_id = #{data.userId}

4、for循环
WHERE spu.agent_spu_id in

#{i}

5、插入

SELECT @style_number := 0,@glass_number := 0;


INSERT INTO `dms_tenant_style` (`id`, `product_id`, `price`, `tenant_id`, `type`, `create_time`, `create_user`, `update_time`, `update_user`) SELECT (${styleId} + (@style_number := @style_number + 1)) AS id, `product_id`, price, #{tenantId}, type, NOW(), #{userId}, NOW(), #{userId} FROM `dms_tenant_style` AS t WHERE t.tenant_id=#{supplierId} AND NOT EXISTS(SELECT 1 FROM dms_tenant_style WHERE `product_id` = t.`product_id` AND tenant_id = #{tenantId}); 6、json字段和path查询 SELECT dps.glass_info ->> '$.baseGlassPrice' AS baseGlassPrice, dcc.* FROM dulles_custom_category dcc LEFT JOIN dms_product_style dps ON dps.id = dcc.style_id WHERE INSTR( dcc.path, #{pid} ) > 0 ORDER BY dcc.sort ASC, dcc.id ASC 7、and 括号用法 List tenantList = getTenant().selectList(new LambdaQueryWrapper() .eq(TmsTenant::getStatus, CommonStatusEnum.ENABLE.getCode()) .and(item->{ item.eq(TmsTenant::getId,tenantId) .or() .eq(TmsTenant::getTenantType, CommonConstant.TENANT_PLATFORM); }) );
posted @ 2025-04-18 06:42  地中海蒲公英2  阅读(38)  评论(0)    收藏  举报