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);
})
);