news 2026/9/17 0:28:55

job_log_id(日志ID)批量删除 `sys_job_log` 表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
job_log_id(日志ID)批量删除 `sys_job_log` 表

你提供的这段代码是 MyBatis 的 Mapper XML 中的一个删除操作语句,核心需求是根据传入的多个job_log_id(日志ID)批量删除sys_job_log表中的定时任务日志记录。

代码完整解析与优化

首先,我先把这段代码补充完整并优化(补充必要的命名空间、注释等),让它可以直接在项目中使用:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- 需替换为你实际的Mapper接口全类名 --><mappernamespace="com.xxx.mapper.SysJobLogMapper"><!-- 根据多个日志ID批量删除定时任务日志 --><!-- parameterType:参数类型,这里传入的是Long类型的数组(array) collection:遍历的集合类型,数组用"array",List集合用"list" item:遍历过程中单个元素的别名 open/close:遍历结果的前后拼接符,这里拼接成 (id1,id2,id3) 格式 separator:元素之间的分隔符 --><deleteid="deleteJobLogByIds"parameterType="Long">DELETE FROM sys_job_log WHERE job_log_id IN<foreachcollection="array"item="jobLogId"open="("separator=","close=")">#{jobLogId}</foreach></delete></mapper>

关键部分解释

  1. 标签与核心属性

    • <delete>:MyBatis 用于定义删除操作的标签,id需与 Mapper 接口中的方法名完全一致(如deleteJobLogByIds),parameterType声明传入参数的类型为Long(因为数组元素是 Long 类型)。
    • DELETE FROM sys_job_log WHERE job_log_id IN:SQL 核心逻辑,通过IN关键字实现批量匹配删除。
  2. 标签(批量操作核心)
    这是 MyBatis 实现批量操作的关键标签,作用是遍历传入的数组/集合,拼接成符合 SQL 语法的参数列表:

    • collection="array":指定遍历的集合类型,如果传入的是数组,必须用 “array”;如果是 List 集合,需改为 “list”
    • item="jobLogId":遍历过程中单个元素的别名,后续通过#{jobLogId}取值(防止 SQL 注入)。
    • open="("/close=")"/separator=",":分别指定遍历结果的前缀、后缀、元素分隔符,最终拼接成(1,2,3)格式。
  3. 对应的 Mapper 接口方法
    要让这段 XML 生效,需在对应的 Mapper 接口中定义如下方法:

    importorg.apache.ibatis.annotations.Param;publicinterfaceSysJobLogMapper{/** * 批量删除定时任务日志 * @param jobLogIds 日志ID数组 */intdeleteJobLogByIds(Long[]jobLogIds);// 若传入的是List集合,方法需改为:// int deleteJobLogByIds(@Param("list") List<Long> jobLogIds);// 同时XML中collection需改为"list"}

总结

  1. 这段代码的核心是通过 MyBatis 的<foreach>标签实现批量删除,避免循环单条删除导致的性能问题。
  2. 关键注意点:collection的值需与传入参数类型匹配(数组用 “array”,List 用 “list”),且必须使用#{}取值防止 SQL 注入。
  3. 接口方法的参数类型需与 XML 中parameterType<foreach>遍历的元素类型一致,否则会报参数绑定异常。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 23:43:30

智能侦测模型动物园:比较50种算法,云端GPU自动出报告

智能侦测模型动物园&#xff1a;比较50种算法&#xff0c;云端GPU自动出报告 引言&#xff1a;为什么需要自动化评测平台&#xff1f; 在AI安全检测领域&#xff0c;技术选型团队常常面临一个共同难题&#xff1a;面对市面上数十种行为检测算法&#xff0c;如何快速评估它们的…

作者头像 李华
网站建设 2026/9/15 14:01:33

智能侦测数据回流:自动优化模型的闭环

智能侦测数据回流&#xff1a;自动优化模型的闭环 1. 什么是数据回流与模型自动优化&#xff1f; 想象一下&#xff0c;你开了一家奶茶店&#xff0c;每天顾客的反馈&#xff08;比如"太甜了""珍珠不够Q弹"&#xff09;如果能自动变成第二天调整配方的依…

作者头像 李华
网站建设 2026/9/15 3:49:20

AI行为分析极简教程:3步出结果,比配环境快10倍

AI行为分析极简教程&#xff1a;3步出结果&#xff0c;比配环境快10倍 引言&#xff1a;当紧急项目遇上环境崩溃 想象一下这个场景&#xff1a;你刚接了个外包项目&#xff0c;客户要求明天验收AI监控模块&#xff0c;结果你的本地开发环境突然崩溃。此时你需要一个能在1小时…

作者头像 李华
网站建设 2026/9/8 7:00:00

5个热门AI侦测镜像推荐:开箱即用免配置,10块钱全试遍

5个热门AI侦测镜像推荐&#xff1a;开箱即用免配置&#xff0c;10块钱全试遍 引言&#xff1a;为什么你需要这些AI侦测镜像&#xff1f; 作为产品经理&#xff0c;当你需要评估多个AI侦测模型用于新产品时&#xff0c;通常会遇到三个典型问题&#xff1a; GitHub上项目太多不…

作者头像 李华
网站建设 2026/9/13 10:45:51

AI实体侦测开箱即用镜像推荐:0配置10分钟出结果,1小时1块钱

AI实体侦测开箱即用镜像推荐&#xff1a;0配置10分钟出结果&#xff0c;1小时1块钱 1. 为什么你需要这个AI实体侦测镜像 最近发现竞品上线了智能工单分类功能&#xff1f;作为产品经理&#xff0c;你可能迫切需要在老板面前展示类似的能力&#xff0c;但团队没有AI工程师&…

作者头像 李华
网站建设 2026/9/13 4:56:16

体验AI智能体省钱攻略:云端GPU按需付费,比买显卡省万元

体验AI智能体省钱攻略&#xff1a;云端GPU按需付费&#xff0c;比买显卡省万元 1. 为什么自由职业者需要AI智能体&#xff1f; 作为一名自由职业者&#xff0c;你可能经常需要处理数据分析、报告生成、客户沟通等重复性工作。这些任务不仅耗时耗力&#xff0c;还可能因为人为…

作者头像 李华