springboot: mybatis动态拼接sql查询条件

目录

需求01:  根据不同类型 查询不同的订单名,

1. 书写订单 类型转换方法 

 2. 使用方式: 

3.. 构建条件构造器并进行查询, 传递查询参数

4. Mapper 写法

5. 最核心位置 xml位置 

6. sql执行效果: 


需求01:  根据不同类型 查询不同的订单名,

条件也是不同的, 需要复用sql语句

看看如何实现(第一种方式), 借助 mybatisPlus 构造 

1. 书写订单 类型转换方法 

private String orderTypeChangeName(Integer orderType) {
        
        switch (orderType) {
            case 1:
                return "order_one";

            case 2:
                return "order_two";

            case 3:
                return "order_three";

            default:
                throw newRuntimeExcetion("不支持的订单类型");
        }

    }

 2. 使用方式: 

String sqlName = orderTypeChangeName(orderType);

3.. 构建条件构造器并进行查询, 传递查询参数

baseMapper.selectTest(sqlName,
                new QueryWrapper()
                        .in(sqlName, orderList)
                        .isNotNull(sqlName)
                        .ne(sqlName, "")
                        .groupBy(sqlName)
        );

4. Mapper 写法

List countByOrder(@Param("sqlName") String sqlName,@Param(Constants.WRAPPER) QueryWrapper queryWrapper);

5. 最核心位置 xml位置 

  

6. sql执行效果: 

你可能感兴趣的:(#,实用的springboot方法,mybatis,spring,boot,sql,mysql,QueryWapper)