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

SSM(set、foreach、sql代码片段)

set标签:

set标签会自动去除最后一个满足条件的逗号,set和update进行联用。

    <update id="updateIf" parameterType="user">update user<set> /*会自动加上set关键字 set也是可以自动加上 逗号 并且去掉 最后一个 逗号 */<if test="username != null">username = #{username},</if></set><where><if test="id != null">and id = #{id}</if></where></update>

foreach标签:

select * from user where id in (1, 2, 3)

foreach解决的是id in (1, 2, 3), 这样的拼接关系。

open: 表示开始 一般是 (

close: 表示结束 一般是 )

collection: 参数是集合的时候写的是 list

item: 给当前遍历的元素起个别名

separator:每个元素用生命隔开 一般是逗号 ,

参数是集合:

select标签里面的parameterType写的是 list

collection里面写的是list

先去判断list是否为空然后再去进行拼接,这就要和咱们之前的<if>标签进行联用了。

    <select id="findByList" parameterType="list" resultType="user">select * from user<where><if test="list != null">id in<foreach item="id" separator="," collection="list" close=")" open="(">#{id}</foreach></if></where></select>

参数是数组:

collection里面写的是array

先去判断数组是否为空,这也是和咱们之前的<if>标签联用了。为空的话,也就是查询全部了。

    <select id="findByArray" parameterType="int" resultType="user">select * from user<where><if test="array != null">id in<foreach item="id" separator="," collection="array" close=")" open="(">#{id}</foreach></if></where></select>

sql片段:

发现查询的时候出现大量的 select * from user 但是当我这个user表名发生变化的时候,岂不是要修改很多的代码。代码片段 也就是把相同的代码提取出现

<sql>标签,里面的id是唯一标识符,方便之后的调用。

    <!--sql语句片段 抽取--><sql id="selectUser">select * from user</sql>

用的时候:

include标签,然后refid里面填的是sql片段的id

        /*引用sql片段*/<include refid="selectUser"/>

http://www.mrgr.cn/news/47692.html

相关文章:

  • 探索图像编辑的无限可能——Adobe Photoshop全解析
  • centos systemd方式配置jar开机自启
  • C++单例模式跨DLL调用问题梳理
  • 细说STM32F407单片机以DMA方式读写外部SRAM的方法
  • JS BOM详解
  • Angular结合C#
  • 数据结构之二叉搜索树(key模型与key_value模型)
  • 串口(UART)的FPGA设计(接收与发送模块)
  • 6个步骤消除SOC告警倦怠
  • MySQL:基于Spring监听Binlog日志
  • map系列的使用
  • ChatGPT 4o with Canvas — 新特性详解
  • openpdf
  • 10.10每日作业
  • [Git] Git下载及使用 从入门到精通 详解(附下载链接)
  • k8s部署jenkins集群,配置集群kubernetes plugin的pod模板
  • x-cmd pkg | fastfetch: 轻松获取系统信息,打造个性化输出!
  • uniapp的相关知识(1)
  • centos7执行yum命令时报:Could not resolve host: mirrorlist.centos.org; Unknown error
  • 网友反馈:移动套餐只能升不能降怎么办?
  • Java多线程面试题
  • 融入、成长与创造 - 数字经济浪潮下的个人转型
  • 论文阅读笔记-Incorporating Copying Mechanism in Sequence-to-Sequence Learning
  • QFontComboBox Class
  • Redis 数据类型list(列表)
  • 系统架构设计师教程 第16章 16.2 嵌入式系统软件架构原理与特征 笔记