根据一个 List 中的两个字段 rangeCode 和 unitcd,查询数据库表 model_engineering_spatial_unit。这个需求在 Java + MyBatis 项目中非常常见,下面我将为你详细写出 Mapper 接口(Java) 和 MyBatis XML 映射文件 的写法。

✅ 前提说明实体类:PlanSchemeProductionGongkuangStatus

public class PlanSchemeProductionGongkuangStatus {private String rangeCode;private String unitcd;// getter and setter...
}

查询目标表:model_engineering_spatial_unit
假设你要查询的是:

SELECT *
FROM model_engineering_spatial_unit
WHERE range_code = ? AND unitcd = ?

对于多个对象的情况,是多个 (range_code, unitcd) 对组合。

✅ Mapper 层接口定义(Java)

import java.util.List;public interface SpatialUnitMapper {/*** 根据 rangeCode 和 unitcd 列表查询数据*/List<ModelEngineeringSpatialUnit> queryByRangeAndUnit(List<PlanSchemeProductionGongkuangStatus> conditions);
}

✅ MyBatis XML 映射文件(XML)(重点)

<!-- Mapper Namespace: com.example.mapper.SpatialUnitMapper -->
<mapper namespace="com.example.mapper.SpatialUnitMapper"><select id="queryByRangeAndUnit" resultType="com.example.model.ModelEngineeringSpatialUnit">SELECT *FROM model_engineering_spatial_unit<where><foreach collection="conditions" item="item" separator=" OR ">(range_code = #{item.rangeCode} AND unitcd = #{item.unitcd})</foreach></where></select></mapper>

✅ 使用说明
• 遍历传入的 List。
•每个元素取出 rangeCode 和 unitcd,作为一组条件拼接成 (range_code = ? AND unitcd = ?)。
•多组条件用 OR 连接,最终实现批量查询。
• 标签会自动处理 AND / OR 开头的问题,避免 SQL 错误。

✅ 示例调用代码(Service 层)

@Service
public class SpatialUnitService {@Autowiredprivate SpatialUnitMapper spatialUnitMapper;public void testQuery() {List<PlanSchemeProductionGongkuangStatus> conditions = new ArrayList<>();conditions.add(new PlanSchemeProductionGongkuangStatus("R001", "U001"));conditions.add(new PlanSchemeProductionGongkuangStatus("R002", "U002"));List<ModelEngineeringSpatialUnit> result = spatialUnitMapper.queryByRangeAndUnit(conditions);// 输出结果result.forEach(System.out::println);}
}

✅ 如果你使用的是 MyBatis Plus如果你使用的是 MyBatis Plus,可以结合 QueryWrapper 或 LambdaQueryWrapper 实现动态构建查询条件,但上面这种方式更适合直接传递 List 对象进行多条件匹配。

✅ 小贴士
场景 推荐方式
单条记录查询 selectOne()
多个 (rangeCode, unitcd) 组合查询 使用 动态生成多个 OR 条件
查询性能优化 确保 range_code 和 unitcd 字段上有索引

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/87620.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/87620.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/87620.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pyspark 创建DataFrame

from pyspark.sql import SparkSession from pyspark.sql import StructType, StructField, IntegerType,StringType spark SparkSession.builder.appName(test).getOrCreate() 1、 从列表中创建DataFrame data [(1,"alice"),(2,Blob),(3,Charlie)] columns [&qu…

Vim:从入门到进阶的高效文本编辑器之旅

目录 一、Vim简介 二、Vim的基础操作 2.1 进入和退出Vim 2.2 Vim的三种模式 2.3 基础移动 三、Vim的高效编辑技巧 3.1 文本编辑 3.2 文本删除与修改 3.3 复制与粘贴 四、Vim的进阶使用 4.1 搜索与替换 4.2 寄存器与宏 4.3 插件与配置 五、结语 在编程界&#xff0…

Docker基础理论与阿里云Linux服务器安装指南

文章目录 一、Docker核心概念二、阿里云环境准备三、Docker安装与配置四、核心容器部署示例五、开发环境容器化六、运维管理技巧七、安全加固措施 一、Docker核心概念 容器化本质&#xff1a; 轻量级虚拟化技术&#xff0c;共享主机内核进程级隔离&#xff08;cgroups/namespac…

c#使用笔记之try catch和throw

一、try catch 一种报错的捕捉机制&#xff0c;try块里运行的代码出现错误的时候就会去执行catch块所以一般catch块里都是把错误打印出来或者保存到log日志里&#xff1b; 1.1、具体使用 catch可以用&#xff08;&#xff09;来选择捕捉什么类型的错误&#xff0c;一般用Exc…

(新手友好)MySQL学习笔记(9):索引(常见索引类型,查找结构的发展(二分查找法,二叉搜索树,平衡二叉树,B树,B+树))

目录 索引 常见索引类型 B树 二分查找法 二叉搜索树和平衡二叉树 B树和B树 索引 index&#xff0c;是存储引擎用于快速找到数据的一种数据结构。 MySQL默认使用InnoDB存储引擎&#xff0c;该存储引擎是最重要&#xff0c;使用最广泛的&#xff0c;除非有非常特别的原因需要使用…

进程间通信1(匿名管道)Linux

1 进程间通信的必要性 首先要明确进程间是相互独立的&#xff08;独享一份虚拟地址空间&#xff0c;页表&#xff0c;资源&#xff09;&#xff0c;那怎么样才能使得两个进程间实现资源的发送&#xff1f;所以&#xff0c;两个进程一定需要看到同一份资源&#xff0c;并且⼀个…

CAN2.0、DoIP、CAN-FD汽车协议详解与应用

一、CAN2.0 协议详解与应用示例 1. 技术原理与特性 协议架构&#xff1a;基于 ISO 11898 标准&#xff0c;采用载波监听多路访问 / 冲突检测&#xff08;CSMA/CD&#xff09;机制&#xff0c;支持 11 位&#xff08;CAN2.0A&#xff09;或 29 位&#xff08;CAN2.0B&#xff…

使用nvm管理npm和pnpm

1.使用nvm管理npm // 查看nvm版本 nvm -v // 查看可安装的 node 版本 nvm ls-remote // 安装指定 node 版本 nvm install 24.0.0 // 查看当前已安装的 node 版本及当前使用的版本 nvm list // 使用某个版本 node nvm use 24.0.0 // 卸载指定 node 版本 nvm uninstall 16.20.1…

YOLO11+QT6+Opencv+C++训练加载模型全过程讲解

实现效果&#xff1a; Yolov11环境搭建&#xff08;搭建好的可以直接跳过&#xff09; 最好使用Anconda进行包管理&#xff0c;安装可参考【文章】。下面简单过一下如何快速部署环境。如果搭建过或可以参考其他文章可以跳过Yolo11环境搭建这一章节。总体来说Yolov11环境搭建越…

Python 脚本,用于将 PDF 文件高质量地转换为 PNG 图像

import os import fitz # PyMuPDF from PIL import Image import argparse import logging from tqdm import tqdm# 配置日志 logging.basicConfig(levellogging.INFO, format%(asctime)s - %(levelname)s - %(message)s) logger logging.getLogger(PDF2PNG)def convert_pdf_…

【CUDA GPU 支持安装全攻略】PyTorch 深度学习开发者指南

PyTorch 的 CUDA GPU 支持 安装五条铁律&#xff08;最新版 2025 修订&#xff09;&#xff08;适用于所有用户&#xff09;-CSDN博客 是否需要预先安装 CUDA Toolkit&#xff1f;——按使用场景分级推荐及进阶说明-CSDN博客 “100% 成功的 PyTorch CUDA GPU 支持” 安装攻略…

Cyberith 运动模拟器Virtualizer2:提升虚拟现实沉浸体验

奥地利Cyberith公司是一家专注于虚拟现实&#xff08;VR&#xff09;互动解决方案的创新型科技企业&#xff0c;以其研发的Virtualizer虚拟现实步态模拟设备而闻名。该公司的核心技术体现在其设计和制造的全方位跑步机式VR交互平台上&#xff0c;使得用户能够在虚拟环境中实现自…

常见的数据处理方法有哪些?ETL中的数据处理怎么完成

在数字化转型纵深推进的背景下&#xff0c;数据作为新型生产要素已成为驱动企业战略决策、科研创新及智能化运营的核心战略资产。数据治理价值链中的处理环节作为关键价值节点&#xff0c;其本质是通过系统化处理流程将原始观测数据转化为结构化知识产物&#xff0c;以支撑预测…

WHAT - 为甲方做一个官网(二)- 快速版

文章目录 一、明确需求优先级&#xff08;快速决策&#xff09;二、推荐零代码/低代码工具&#xff08;附对比&#xff09;方案1&#xff1a;低代码建站平台&#xff08;适合无技术用户&#xff0c;拖拽式操作&#xff09;方案2&#xff1a;CMS系统&#xff08;适合内容更新频繁…

音视频之H.264视频编码传输及其在移动通信中的应用

系列文章&#xff1a; 1、音视频之视频压缩技术及数字视频综述 2、音视频之视频压缩编码的基本原理 3、音视频之H.264/AVC编码器原理 4、音视频之H.264的句法和语义 5、音视频之H.264/AVC解码器的原理和实现 6、音视频之H.264视频编码传输及其在移动通信中的应用 7、音视…

C#语言入门-task2 :C# 语言的基本语法结构

下面从四个方面对C#的基本语法进行简单介绍&#xff1a; 1. 数据类型 C#的类型可分为值类型和引用类型。值类型变量直接存储数据&#xff0c;引用类型变量则存储对象的引用。 值类型&#xff1a;涵盖整数类型&#xff08;像int、long&#xff09;、浮点类型&#xff08;例如…

c#笔记之类的常量、字段和属性

学习内容: 一、字段 字段是为了对象或者类型存储数据的,可以表达一个对象或者类型的状态;也叫做成员变量;注意字段是在类里面声明的;在方法里声明的是局部变量; 1.1实例字段 用来表示每个实例的状态;比如一个students类;要了解一个学生一般看名字和成绩;所以名字和…

Linux 常用命令(入门)

Linux 常用命令 一、Linux 命令基础 (一)命令格式 Linux 命令的一般格式为:command [-options] [parameter1] … 。其中,command 是命令名,通常是相应功能的英文单词或其缩写;[-options] 是选项,用于对命令进行控制,可省略;parameter1 … 是传给命令的参数,可以是…

CppCon 2016 学习:Parallelism in Modern C++

这段介绍的是 HPX (High Performance ParalleX)&#xff0c;一个现代C的通用并行运行时系统&#xff0c;重点包括&#xff1a; 通用性&#xff1a;适用于各种规模的应用&#xff0c;从小型到超大规模分布式系统。统一标准API&#xff1a;符合C标准&#xff0c;方便编写异步、并…

机器学习监督学习实战七:文本卷积神经网络TextCNN对中文短文本分类(15类)

本文介绍了一个基于TextCNN模型的文本分类项目&#xff0c;使用今日头条新闻数据集进行训练和评估。项目包括数据获取、预处理、模型训练、评估测试等环节。数据预处理涉及清洗文本、中文分词、去除停用词、构建词汇表和向量化等步骤。TextCNN模型通过卷积层和池化层提取文本特…