当前位置: 首页 > news >正文

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<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>

6. sql执行效果: 

http://www.lryc.cn/news/41962.html

相关文章:

  • 最优化算法 - 动态规划算法
  • springCloud学习【3】之Docker(1)
  • 难以置信,已经有人用 ChatGPT 做 Excel 报表了?
  • 中断相关操作函数HAL_NVIC_SetPriority()、HAL_NVIC_EnableIRQ()
  • 企业增长秘诀丨设立优质的帮助中心,加深用户产品使用深度,促进产品转化
  • 3.OSPF与BGP的联动
  • 机器学习算法——决策树详解
  • 配置Jenkins
  • 【STL三】序列容器——array容器
  • 【STL四】序列容器——vector容器
  • 4年功能测试,我一进阶python接口自动化测试,跳槽拿了20k......
  • 基于Pytorch的可视化工具
  • XCPC第十一站,带你学会图论基本算法
  • 【MySQL】1 MySQL的下载、安装与配置|提供安装包
  • Redis 事务
  • 【linux】:进程控制
  • 在recyclerview中使用其item布局的ViewBinding类需要注意的问题
  • 基于EB工具的TC3xx_MCAL配置开发05_ADC模块硬件Pwm触发Demo配置
  • Qt示例3:用Qt画一个温度计
  • 全卷积网络FCN
  • 【Linux】基础IO流(上)
  • 【C++】类和对象三大特性--多态
  • 【微前端】qiankun + vite + vue3
  • 模型部署之TorchScript
  • 修改linux网卡配置文件的文件名
  • 年轻人为啥热衷去寺庙?
  • Java Spring 框架
  • 基于OpenCV的人脸识别
  • 一文带你看懂电压放大器和功率放大器的区别
  • C++虚函数与多态