mybatis使用xml中的if-else/choose

server/2024/12/22 14:01:54/
xmlns="http://www.w3.org/2000/svg" style="display: none;">

最近需要使用 xml 文件来实现一些增删改查,此文对 其中的 if-else 加以说明

背景:
有一个引用类,假设叫 Student

java">public class Student {private String name;
private String address;
private Integer yn;}

现在我们查询条件也被封装成一个引用类,例如:

java">public class StudentQueryModel {private String name;
private String address;
private Integer pageIndex;
private Integer pageSize;
private Integer beginIndex;}

那么使用 xml 怎么来使用和接收呢?
首先肯定是在 mapper 里面有一个方法

java">    List<Student> getStudentByCondition(@Param("s") StudentQueryModel model);

然后在 xml 文件中写这个方法的具体实现

xml"><select id="getStudentByCondition"parameterType="入参类型,那么我们这里就应该是 com.xxx.xxx.StudentQueryModel "resultType="返回值类型,注意,我们虽然查询的是一些数据,也就是List,但是这里不能写 java.util.List  而是写  com.xxx..xxx.Student ,如果只想查一条数据,依旧是 com.xxx..xxx.Student ">select * from t_studentWHEREyn = 1
注意,这里最好不要用 <if></if> 标签,写不好就是坑很多,用 choose也是一样的效果<choose><when test=s.name != null and s.name != ''">and t_student.name = #{s.name}</when></choose><choose><when test="s.address != null and s.address != ''">and t_student.address = #{s.address}</when></choose>limit #{s.beginIndex}, #{s.pageSize};//这里最好是在外面算出来,在调用该方法之前就将这两个值算好放到 model 中 不要在这里进行加减乘除的运算,弄不好也有坑</select>

http://www.ppmy.cn/server/9411.html

相关文章

神州数码命令:MSTP、ACL、DHCP、ARP、VRRP、802.1X、NTP、端口镜像、Qos配置

MSTP、ACL、DHCP、ARP、VRRP、802.1X、NTP、端口镜像、Qos配置 一、MSTP配置&#xff08;MSTP是基于STP或RSTP的&#xff0c;因此在配置前应开启任一模式&#xff09; 1、开启生成树 命令&#xff1a;spanning-tree 2、设置交换机运行生成树的模式 命令&#xff1a;spanning-…

国际数字影像产业园为园区企业提供法务服务

国际数字影像产业园为园区企业提供优质的法务服务&#xff0c;成都树观法律咨询服务有限公司&#xff0c;隶属于树莓科技(成都集团有限公司体系。公司名“树观”寓意为“树高千丈&#xff0c;以法为根。息讼止争&#xff0c;粲然可观”&#xff0c;象征着公司对法律领域的深度理…

【Linux】静态库和动态库

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;理解静动态库&#xff0c;自己能模拟实现动静态库。 > 毒鸡汤&#xff1a;有些事情&#xff0c;总是不明白&#xff0c;所以我不会坚持。早安! >…

HarmonyOS ArkUI实战开发-NAPI数据类型

在前两篇文章里笔者简单介绍了 NAPI 工程结构以及生成的 cpp 源码部分&#xff0c;其中 JS 应用层传递过来的数据被封装在了 napi_value 中&#xff0c;使用前先要转换成对应的 C/C 数据类型&#xff0c;C/C 端的数据也要转换成 napi_value 数据类型传递给 JS 应用层&#xff0…

git报错

这里写自定义目录标题 git报错Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 有一个原因就是在github上设置对应密钥时&#xff0c;有一个key获取应该设置为…

大模型引领未来:探索其在多个领域的深度应用与无限可能【第二章、金融领域:大模型重塑金融生态】

大模型引领未来&#xff1a;探索其在多个领域的深度应用与无限可能【第二章、金融领域&#xff1a;大模型重塑金融生态】 1.智能客服与自动化交易系统的崛起2.风险评估与投资决策的精准化3.客户服务的个性化与智能化4.金融领域大模型清单 1.智能客服与自动化交易系统的崛起 随…

清华大学:序列推荐模型稳定性飙升,STDP框架惊艳登场

获取本文论文原文PDF&#xff0c;请公众号留言&#xff1a;论文解读 引言&#xff1a;在线平台推荐系统的挑战与机遇 在线平台已成为我们日常生活中不可或缺的一部分&#xff0c;它们提供了丰富多样的商品和服务。然而&#xff0c;如何为用户推荐感兴趣的项目仍然是一个挑战。…

汽车4S集团数据分析

派可数据分析--汽车4S集团。 派可数据汽车4S集团数据分析概述。派可数据汽车4S集团分析主题全面涵盖行业内各板块业务分析&#xff0c;具体包括&#xff1a;保险业务分析、客户关系分析、汽车保养情况分析、售后维修主题分析、整车销售分析、整车库存分析、装具销售分析、配件…