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

mapper.xml sql动态表查询配置

代码示例:

List<Map<String, Object>> photovoltaicQueryBySectionId(@Param("tableNameByProductId") String tableNameByProductId,@Param("sectionId") String sectionId);
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.IntelligentAnalysisMapper"><!-- 动态表名 + 动态参数查询,根据productId区分查询条件 --><select id="startIntelligentAnalysis" resultType="java.util.Map">SELECT * FROM ${tableNameByProductName}<where><!-- 通用条件:如果有公共参数可以在这里添加 --><if test="queryParamMap.commonParam != null and queryParamMap.commonParam != ''">AND common_column = #{queryParamMap.commonParam}</if><!-- 根据productId不同,处理不同的查询参数 --><choose><!-- productId为32的情况 --><when test="productId == '32'"><if test="queryParamMap.projectName != null and queryParamMap.projectName != ''">AND project_name = #{queryParamMap.projectName}</if><if test="queryParamMap.inverterType != null and queryParamMap.inverterType != ''">AND inverter_type = #{queryParamMap.inverterType}</if><if test="queryParamMap.capacity != null">AND capacity = #{queryParamMap.capacity}</if></when><!-- productId为33的情况 --><when test="productId == '33'"><if test="queryParamMap.equipmentNo != null and queryParamMap.equipmentNo != ''">AND equipment_no = #{queryParamMap.equipmentNo}</if><if test="queryParamMap.productionDate != null">AND production_date = #{queryParamMap.productionDate}</if></when><!-- 其他productId的默认情况 --><otherwise><if test="queryParamMap.deviceId != null and queryParamMap.deviceId != ''">AND device_id = #{queryParamMap.deviceId}</if><if test="queryParamMap.status != null">AND status = #{queryParamMap.status}</if></otherwise></choose><!-- 时间范围条件(通用) --><if test="queryParamMap.startTime != null">AND create_time &gt;= #{queryParamMap.startTime}</if><if test="queryParamMap.endTime != null">AND create_time &lt;= #{queryParamMap.endTime}</if></where><!-- 可以根据需要添加排序 --><if test="queryParamMap.orderBy != null and queryParamMap.orderBy != ''">ORDER BY ${queryParamMap.orderBy}</if></select></mapper>
http://www.dtcms.com/a/490595.html

相关文章:

  • SQL Server 2019实验 │ 设计数据库的完整性
  • Leetcode每日一练--35
  • IDEA项目上传Gitee
  • 数据同步:Debezium监听,变更捕获实现?
  • 免费在线自助建站嵩明县住房和城乡建设局网站
  • PyTorch是什么?
  • 11年始终专注营销型网站龙岗召开企业服务大会
  • 11-触发器
  • dify 配置域名https访问
  • Fragment mWho 在registerForActivityResult 中作用
  • 告别插件堆砌!Neovim 配置“瘦身”实战:用 Mini.nvim 替换主流插件全过程
  • PyCharm 2025:最新使用图文教程!
  • 线性表之数组
  • 黄岩网站建设兼职无锡网站建设网络推广
  • 专业的食品行业网站开发叮当快药网站谁做的
  • Agent 时代的大模型演化:从 ChatGPT 到多智能体协作系统
  • uniapp uni.chooseImage+uni.uploadFile使用方法与详解
  • 云手机的魅力与优势
  • 关于 uni-app 与原生微信小程序中的生命周期 —— 一次“生命旅程”的解读
  • 方圆网通网站建设公司怎么做不用数据库的网站
  • uniapp 打开横竖屏。usb调试时可以横竖屏切换,但是打包发布后却不行?
  • 有些网站开发人员工具无反应老闵行小学排名
  • Ubuntu20.04安装Anbox安卓模拟器
  • aspx php哪个做门户网站好万秀服务不错的seo推广
  • 回文串问题
  • 【Winform】Gerber文件解析坐标工具代码
  • k8s 网络策略详解--图文篇
  • 伟淼科技深度解析过度营销—告别流量轰炸企业破解营销困局新路径
  • POM思想的理解与示例
  • 案例精选 | 某大型船舶制造集团安全运营服务实践