美文网首页
mybatisplus-混合查询

mybatisplus-混合查询

作者: Raral | 来源:发表于2021-08-11 17:09 被阅读0次

多条件多筛选多排序查询

mapper

   <select id="selectCouponByIno" resultType="com.gzsz.shop.api.shop.bean.ShopPool">
        select a.*, b.cost_amount from (
        select * from t_cs_shop_coupon
        <where>
            status = 1 and stock > 0 and pool_code != 3
            <if test="couponIno != null">
                and coupon_ino = #{couponIno}
            </if>
        </where>
        <choose>
            <when test="sort == 1 and sortField == 1">
                order by create_time desc
            </when>
            <when test="sort == 1 and sortField == 0">
                order by sale_price desc
            </when>
            <otherwise>
                order by create_time asc
            </otherwise>
        </choose>
        limit #{startIndex}, #{size}

        ) a
        left join t_cs_act_acctype b on b.atno = a.coupon_atno
        limit #{startIndex}, #{size}
    </select>
  //test
    List<ShopPool> selectCouponByIno(CouponReq req);

service

@RunWith(SpringRunner.class)
@SpringBootTest(classes = GzszShopApiApplication.class)
public class ShopPoolMapperTest {

    @Resource
    private ShopPoolDao shopPoolDao;

    @Test
    public void shopPoolTest() {
        CouponReq couponReq = new CouponReq();
        couponReq.setCouponIno("S350303H5GPQ21572543");
        System.out.println(couponReq);
        CouponReq couponReq2 = new CouponReq(1,2);
        couponReq2.setCouponIno("S350303H5GPQ21572543");
        couponReq2.setSort(1);
        couponReq2.setSortField(0);
        System.out.println(couponReq2.getStartIndex());
        List<ShopPool> shopPools = null;
        try {
            shopPools = shopPoolDao.selectCouponByIno(couponReq2);
        } catch (NumberFormatException e) {
            e.printStackTrace();
        }

        System.out.println(shopPools);

    }
}

DTO

BaseReq

package com.gzsz.shop.api.shop.dto.req;

import lombok.Data;
import lombok.ToString;

import java.io.Serializable;

/**
 * @description: test
 */
@Data
@ToString
public class BaseReq implements Serializable {
    private Integer page;
    private Integer size;
    private Integer startIndex;

    //静态代码块
    static {
//        this.startIndex = (this.page - 1) * this.size;
        System.out.println("静态代码块");
    }
    //非静态代码块
    {
        System.out.println("非静态代码块");
    }

    public BaseReq() {
        System.out.println("无参构造函数");
    }

    public BaseReq(Integer page, Integer size) {
        System.out.println("有参构造函数");
        this.size = size;
        this.startIndex = (page - 1) * this.size;
    }

}

CouponReq

package com.gzsz.shop.api.shop.dto.req;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

/**
 * @description: 测试
 */
@Data
@ToString
@NoArgsConstructor
public class CouponReq extends BaseReq {
    private String couponIno;
    private Integer sort;
    private Integer sortField;

    public CouponReq(Integer page, Integer size) {
        super(page, size);
    }
}

截图

f3b268acacbe391226fa46868c4fa60.png

相关文章

  • mybatisplus-混合查询

    多条件多筛选多排序查询 mapper service DTO BaseReq CouponReq 截图

  • mybatisplus-笔记

    笔记是根据B站”遇见狂神说“的视频记得。点我跳转视频 日志配置 CRUD扩展 主键生成策略 对应数据库的主键:uu...

  • Query SQL - 复合查询

    混合查询 Compound queries wrap other compound or leaf queries...

  • scss-使用手册

    入门 变量 镶嵌 导入 注释 混合 继承 文档 变量 运算 导入 媒体查询 继承 控制 混合 函数 输出 拓展 问...

  • TP5混合查询 and or 联合查询写法

    想要执行的SQL语句为 tp5查询写法为

  • less语法实用手册

    less实用语法、less常用工具方法和API快速查询手册 变量 混合 不输出的混合 输出为: eg3: 输出为:...

  • JVM性能调优

    编译器 查询运行模式 截屏2022-09-22 上午10.56.26.png mixed mode 混合模式设置编...

  • mysql使用 utf8mb4 问题

    错误信息: 原因: utf8mb4_unicode_ci和utf8mb4_general_ci列不能混合查询!!!...

  • 推荐引擎系统功能模块分析

    推荐引擎系统的主要模块分为数据收集、用户建模、物品建模、推荐算法、混合模块、结果存储、前端展示和查询引擎。推荐系统...

  • Power Query 系列 (19) - 使用混合查询 (Qu

    在本系列的第 18 篇文章中,我详细讲解了从 MS Access 数获取数据,通过 PQ 完成进出存查询的过程。在...

网友评论

      本文标题:mybatisplus-混合查询

      本文链接:https://www.haomeiwen.com/subject/alpcbltx.html