news 2026/6/10 17:39:24

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/6/10 13:32:07

AI侦测模型实战案例:用云端GPU搭建智能监控,成本省80%

AI侦测模型实战案例&#xff1a;用云端GPU搭建智能监控&#xff0c;成本省80% 引言&#xff1a;创业团队的AI监控困境与破局方案 对于创业团队来说&#xff0c;开发智能监控系统最头疼的莫过于硬件投入。传统方案需要自建GPU服务器&#xff0c;光是采购RTX 4090级别的设备就得…

作者头像 李华
网站建设 2026/6/10 11:35:15

AI威胁检测模型超市:200+预训练模型任选,按小时租用

AI威胁检测模型超市&#xff1a;200预训练模型任选&#xff0c;按小时租用 引言&#xff1a;为什么需要AI威胁检测模型超市&#xff1f; 想象你是一名安全研究员&#xff0c;每天要面对海量的网络日志、用户行为数据和系统告警。传统方法需要手动编写规则来识别威胁&#xff…

作者头像 李华
网站建设 2026/6/10 14:14:03

亲测好用!9款AI论文写作软件测评:本科生毕业论文必备

亲测好用&#xff01;9款AI论文写作软件测评&#xff1a;本科生毕业论文必备 2026年AI论文写作工具测评&#xff1a;为何值得一看&#xff1f; 随着人工智能技术的不断进步&#xff0c;AI论文写作工具逐渐成为高校学生&#xff0c;尤其是本科生在撰写毕业论文时的重要辅助。然…

作者头像 李华
网站建设 2026/6/9 23:44:03

AI智能体法律分析:合同审查快10倍,律师好帮手

AI智能体法律分析&#xff1a;合同审查快10倍&#xff0c;律师好帮手 1. 为什么律师需要AI合同审查助手&#xff1f; 作为一名从业10年的法律科技顾问&#xff0c;我见过太多律师和律所助理被堆积如山的合同压得喘不过气。传统人工审查一份20页的合同平均需要2-3小时&#xf…

作者头像 李华
网站建设 2026/6/9 17:17:38

AI侦测效果对比神器:云端3模型并行测试,成本不到5元

AI侦测效果对比神器&#xff1a;云端3模型并行测试&#xff0c;成本不到5元 引言 当技术选型委员会需要在短时间内评估多个AI侦测模型时&#xff0c;传统采购测试服务器的方式往往面临审批周期长、成本高、资源闲置等问题。今天我要介绍的解决方案&#xff0c;能让您在云端同…

作者头像 李华
网站建设 2026/6/10 12:03:53

3D点云AI侦测入门:云端GPU支持Open3D,新手友好

3D点云AI侦测入门&#xff1a;云端GPU支持Open3D&#xff0c;新手友好 引言&#xff1a;为什么需要云端GPU处理3D点云&#xff1f; 作为一名机器人专业的学生&#xff0c;当你从2D视觉升级到3D点云处理时&#xff0c;可能会遇到两个难题&#xff1a;一是学校工作站通常只配备…

作者头像 李华