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

MySql(SQL)

1. <script> 标签(必看)

  • 作用:MyBatis 注解中,当 SQL 包含动态标签(如 <foreach><if> 等)时,必须用 <script> 标签包裹,告诉 MyBatis“这是动态 SQL,需要解析内部标签”。
  • 若没有 <script> 标签,MyBatis 会把 <foreach> 当作普通字符串处理,导致 SQL 语法错误。

2.循环遍历 foreach(eg:list)

循环的是List<Long> id

MyBatis 框架中 <foreach> 标签的使用示例,用于在 SQL 中循环遍历集合,动态生成批量操作的语法(比如 IN 条件、批量插入的 values 等)

<foreach> 是 MyBatis 专为 “遍历集合 / 数组,拼接 SQL 片段” 设计的标签,常用于:

  • 批量查询(如 SELECT * FROM table WHERE id IN (1,2,3));
  • 批量插入(如 INSERT INTO table (id) VALUES (1),(2),(3))。

1.各属性含义

<foreach item='item' collection='items' open='(' separator=',' close=')'> #{item}
</foreach>

2. 注意事项

  • collection 要与参数名一致:如果 Java 传的是 List/Array,且没给参数起别名collection 要写 list 或 array;如果是 Map,要写 Map 的 key。
  • 防止 SQL 注入:MyBatis 会自动对 #{item} 做预编译,避免 SQL 注入,不要用 ${item}(直接拼接,有注入风险)。

简单来说,<foreach> 让 MyBatis 能 “循环拼接 SQL”,轻松实现批量操作,不用手动写冗长的 IN 或 VALUES 片段~

3.条件语句 if

<if test="identity!=null"> ... </if>

test="identity!=null" 是判断条件:当传入的 identity 参数不为 null 时,执行标签内的 SQL 片段;若 identity 为 null,则跳过该标签,不拼接内部的 SQL。

标签内的内容 where identity=#{identity}

  • 当条件成立时,拼接 WHERE 子句,筛选出 identity 字段值等于参数值的记录(#{identity} 是 MyBatis 的参数占位符,用于接收传入的 identity 值)。

http://www.dtcms.com/a/453228.html

相关文章:

  • 做网站赚外快镇安县住房和城乡建设部网站
  • 【STM32项目开源】基于STM32的智能家居环境(空气质量)检测系统
  • Photoshop - Photoshop 工具栏(8)魔棒工具
  • 虹口专业做网站wordpress分类目录第二页
  • 保险业多模态数据融合与智能化运营架构:技术演进、应用实践与发展趋势
  • AI大模型微调教程7
  • Docker 完整教程(5,6) | 容器编译与编排
  • 网站模板 外贸工厂济宁网站建设是什么
  • pyautocad 发送消息到消息栏 acad.doc.Utility.Prompt
  • 【传奇开心果系列】基于Flet框架实现的分析题型的掌握程度不同题型得分饼图样式示例自定义模板特色和实现原理深度解析
  • 做网站怎么防止被网警查到wordpress 设置登陆
  • 部署MySql8.4.6(Kylinv10sp3、Ubuntu2204、Rocky9.3)
  • 高并发下如何保证 Caffeine + Redis 多级缓存的一致性问题?MySQL、Redis 缓存一致性问题?
  • 吉林省建设厅网站评职称系统手机装wordpress
  • LeetCode 分类刷题:1901. 寻找峰值 II
  • ROS实战中Gazebo的基本使用
  • wordpress网站维护教程wordpress修改管理密码
  • PTA6-1 使用函数求最大公约数(C)
  • 小谈:数字化项目立项成功的方法论
  • HTTPS 真的牢不可破吗?—— 中间人攻击与安全机制解析
  • 广东省城乡建设厅网站seo短视频新地址在哪里?
  • 从 0 到 1 搭建 Python 语言 Web UI自动化测试学习系列 9--基础知识 5--常用函数 3
  • 然后在亚马逊网站上做外贸做网站需要做数据库
  • 接口测试-Postman 断言
  • 网站关键词更换了专业网站建设 公司哪家好
  • 乐观锁 与 悲观锁 笔记251007
  • Linux中select的实现
  • /UI2/CL_JSON=>DESERIALIZE :JSON反序列化
  • MySQL主主复制+Keepalived高可用集群搭建与故障切换实战
  • 幼儿网站源代码室内设计案例去什么网站