山东住房城乡建设部网站软件开发公司
目录
需求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<Test01>().in(sqlName, orderList).isNotNull(sqlName).ne(sqlName, "").groupBy(sqlName));
4. Mapper 写法
List<Test01> countByOrder(@Param("sqlName") String sqlName,@Param(Constants.WRAPPER) QueryWrapper<Test> queryWrapper);
5. 最核心位置 xml位置
<select id="*" resultType="*">SELECT${sqlName} AS orderNum,count( id ) AS countsFROM*${ew.customSqlSegment}</select>