datai/docs/archive/prompts/002-entity-mapper-create.md

26 KiB
Raw Blame History

Prompt - 基础实体类和Mapper创建

输入引用

引用相关的 docs 文档链接:

Context Maps

强制列出本次 Prompt 依赖的 Canvas 文件:

目标

为9张数据库表创建对应的Java实体类、Mapper接口和XML映射文件使用MyBatis Plus框架提供基础的CRUD操作为后续功能开发提供数据访问基础。

输出格式

代码示例语言Java

约束

  • 技术栈限制: 必须使用MyBatis Plus框架
  • 框架约束: 必须继承BaseMapper获取基础CRUD方法
  • 注解约束: 必须使用MyBatis Plus注解@TableName、@TableId、@TableField
  • 编码规范约束: 必须遵循阿里巴巴Java开发规范
  • 依赖约束: 必须依赖于REQ-010-1创建的数据库表

Rule Set

"请严格参考 @Authentication.canvas 中的状态机转移逻辑,不要自行发挥。"

具体规则

  • 必须使用 Canvas 中定义的类名和方法名
  • 必须遵循 Canvas 中定义的调用关系
  • 必须参考 Canvas 中的流程图逻辑

验收标准

  • 功能完整性: 9个实体类、9个Mapper接口、9个Mapper XML文件创建成功
  • 代码规范性: 代码符合阿里巴巴Java开发规范有清晰的注释
  • 注解正确性: MyBatis Plus注解使用正确包括@TableName、@TableId、@TableField
  • 字段映射正确性: 实体类字段与数据库表字段一一对应
  • JSON字段处理: JSON类型字段能够正确序列化和反序列化
  • 大字段处理: TEXT类型大字段使用String类型处理
  • 敏感字段保护: 敏感字段client_secret、password、security_token使用@TableField(select = false)注解,默认不查询
  • Lombok使用: 实体类使用Lombok简化代码包括@Data、@Builder、@NoArgsConstructor、@AllArgsConstructor
  • Mapper接口正确性: Mapper接口继承BaseMapper使用@Mapper注解标记
  • XML配置正确性: XML映射文件namespace和resultType配置正确

风险

  • 实体类映射风险: 实体类字段映射错误可能导致数据读写失败
  • Mapper XML配置风险: Mapper XML配置错误可能导致SQL执行失败
  • JSON字段处理风险: JSON类型字段处理不当可能导致数据丢失
  • 大字段处理风险: 大字段处理不当可能导致性能问题
  • 框架兼容风险: MyBatis Plus版本兼容性问题

实现指南

1. 实体类创建

1.1 DataiMetaOrgConfig 实体类

package com.datai.salesforce.metadata.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * Salesforce组织配置实体类
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("datai_meta_org_config")
public class DataiMetaOrgConfig implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 组织ID
     */
    @TableField("org_id")
    private String orgId;

    /**
     * 组织名称
     */
    @TableField("org_name")
    private String orgName;

    /**
     * 实例URL
     */
    @TableField("instance_url")
    private String instanceUrl;

    /**
     * 用户名
     */
    @TableField("username")
    private String username;

    /**
     * 密码(敏感字段,默认不查询)
     */
    @TableField(value = "password", select = false)
    private String password;

    /**
     * 安全令牌(敏感字段,默认不查询)
     */
    @TableField(value = "security_token", select = false)
    private String securityToken;

    /**
     * 客户端ID
     */
    @TableField("client_id")
    private String clientId;

    /**
     * 客户端密钥(敏感字段,默认不查询)
     */
    @TableField(value = "client_secret", select = false)
    private String clientSecret;

    /**
     * API版本
     */
    @TableField("api_version")
    private String apiVersion;

    /**
     * 状态
     */
    @TableField("status")
    private String status;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private String createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private String updateTime;

    /**
     * 创建人
     */
    @TableField("create_by")
    private String createBy;

    /**
     * 更新人
     */
    @TableField("update_by")
    private String updateBy;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;
}

1.2 DataiMetaTask 实体类

package com.datai.salesforce.metadata.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.JsonNode;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 元数据任务定义实体类
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("datai_meta_task")
public class DataiMetaTask implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 任务名称
     */
    @TableField("task_name")
    private String taskName;

    /**
     * 任务类型retrieve/deploy
     */
    @TableField("task_type")
    private String taskType;

    /**
     * 组织ID
     */
    @TableField("org_id")
    private String orgId;

    /**
     * 元数据类型ApexClass/ApexTrigger/CustomObject等
     */
    @TableField("metadata_type")
    private String metadataType;

    /**
     * 元数据组件列表JSON格式
     */
    @TableField("component_list")
    private String componentList;

    /**
     * 部署选项JSON格式
     */
    @TableField("deploy_options")
    private String deployOptions;

    /**
     * 任务状态pending/running/completed/failed
     */
    @TableField("status")
    private String status;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private String createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private String updateTime;

    /**
     * 创建人
     */
    @TableField("create_by")
    private String createBy;

    /**
     * 更新人
     */
    @TableField("update_by")
    private String updateBy;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;
}

1.3 DataiMetaPackageItem 实体类

package com.datai.salesforce.metadata.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 元数据包项实体类
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("datai_meta_package_item")
public class DataiMetaPackageItem implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 任务ID
     */
    @TableField("task_id")
    private Long taskId;

    /**
     * 组件类型
     */
    @TableField("component_type")
    private String componentType;

    /**
     * 组件API名称
     */
    @TableField("api_name")
    private String apiName;

    /**
     * 文件路径
     */
    @TableField("file_path")
    private String filePath;

    /**
     * 文件内容TEXT类型大字段
     */
    @TableField("file_content")
    private String fileContent;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private String createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private String updateTime;
}

1.4 DataiMetaComponent 实体类

package com.datai.salesforce.metadata.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 元数据组件实体类
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("datai_meta_component")
public class DataiMetaComponent implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 组件类型
     */
    @TableField("component_type")
    private String componentType;

    /**
     * 组件API名称
     */
    @TableField("api_name")
    private String apiName;

    /**
     * 组件名称
     */
    @TableField("component_name")
    private String componentName;

    /**
     * 文件路径
     */
    @TableField("file_path")
    private String filePath;

    /**
     * 文件内容TEXT类型大字段
     */
    @TableField("file_content")
    private String fileContent;

    /**
     * 文件哈希
     */
    @TableField("file_hash")
    private String fileHash;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private String createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private String updateTime;
}

1.5 DataiMetaComponentVersion 实体类

package com.datai.salesforce.metadata.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 元数据组件版本实体类
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("datai_meta_component_version")
public class DataiMetaComponentVersion implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 组件ID
     */
    @TableField("component_id")
    private Long componentId;

    /**
     * 版本号
     */
    @TableField("version_number")
    private String versionNumber;

    /**
     * 文件路径
     */
    @TableField("file_path")
    private String filePath;

    /**
     * 文件内容TEXT类型大字段
     */
    @TableField("file_content")
    private String fileContent;

    /**
     * 文件哈希
     */
    @TableField("file_hash")
    private String fileHash;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private String createTime;
}

1.6 DataiMetaJobExecution 实体类

package com.datai.salesforce.metadata.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 元数据作业执行实体类
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("datai_meta_job_execution")
public class DataiMetaJobExecution implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 任务ID
     */
    @TableField("task_id")
    private Long taskId;

    /**
     * 作业类型retrieve/deploy
     */
    @TableField("job_type")
    private String jobType;

    /**
     * 作业状态pending/running/completed/failed
     */
    @TableField("status")
    private String status;

    /**
     * 进度百分比
     */
    @TableField("progress")
    private Integer progress;

    /**
     * 开始时间
     */
    @TableField("start_time")
    private String startTime;

    /**
     * 结束时间
     */
    @TableField("end_time")
    private String endTime;

    /**
     * 耗时(毫秒)
     */
    @TableField("duration")
    private Long duration;

    /**
     * 错误信息TEXT类型大字段
     */
    @TableField("error_message")
    private String errorMessage;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private String createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private String updateTime;
}

1.7 DataiMetaDeployHistory 实体类

package com.datai.salesforce.metadata.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 元数据部署历史实体类
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("datai_meta_deploy_history")
public class DataiMetaDeployHistory implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 任务ID
     */
    @TableField("task_id")
    private Long taskId;

    /**
     * 部署状态pending/running/completed/failed
     */
    @TableField("status")
    private String status;

    /**
     * 部署类型full/quick/destructive
     */
    @TableField("deploy_type")
    private String deployType;

    /**
     * 开始时间
     */
    @TableField("start_time")
    private String startTime;

    /**
     * 结束时间
     */
    @TableField("end_time")
    private String endTime;

    /**
     * 耗时(毫秒)
     */
    @TableField("duration")
    private Long duration;

    /**
     * 错误信息TEXT类型大字段
     */
    @TableField("error_message")
    private String errorMessage;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private String createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private String updateTime;
}

1.8 DataiMetaDeployComponentResult 实体类

package com.datai.salesforce.metadata.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 元数据部署组件结果实体类
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("datai_meta_deploy_component_result")
public class DataiMetaDeployComponentResult implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 部署历史ID
     */
    @TableField("deploy_history_id")
    private Long deployHistoryId;

    /**
     * 组件类型
     */
    @TableField("component_type")
    private String componentType;

    /**
     * 组件API名称
     */
    @TableField("api_name")
    private String apiName;

    /**
     * 部署状态success/failed
     */
    @TableField("status")
    private String status;

    /**
     * 错误信息TEXT类型大字段
     */
    @TableField("error_message")
    private String errorMessage;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private String createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private String updateTime;
}

1.9 DataiMetaJobLog 实体类

package com.datai.salesforce.metadata.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 元数据作业日志实体类
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("datai_meta_job_log")
public class DataiMetaJobLog implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 作业执行ID
     */
    @TableField("job_execution_id")
    private Long jobExecutionId;

    /**
     * 日志级别INFO/WARN/ERROR
     */
    @TableField("log_level")
    private String logLevel;

    /**
     * 日志消息TEXT类型大字段
     */
    @TableField("log_message")
    private String logMessage;

    /**
     * 日志时间
     */
    @TableField("log_time")
    private String logTime;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private String createTime;
}

2. Mapper接口创建

2.1 DataiMetaOrgConfigMapper 接口

package com.datai.salesforce.metadata.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.datai.salesforce.metadata.entity.DataiMetaOrgConfig;
import org.apache.ibatis.annotations.Mapper;

/**
 * Salesforce组织配置Mapper接口
 */
@Mapper
public interface DataiMetaOrgConfigMapper extends BaseMapper<DataiMetaOrgConfig> {
}

2.2 DataiMetaTaskMapper 接口

package com.datai.salesforce.metadata.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.datai.salesforce.metadata.entity.DataiMetaTask;
import org.apache.ibatis.annotations.Mapper;

/**
 * 元数据任务定义Mapper接口
 */
@Mapper
public interface DataiMetaTaskMapper extends BaseMapper<DataiMetaTask> {
}

2.3 DataiMetaPackageItemMapper 接口

package com.datai.salesforce.metadata.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.datai.salesforce.metadata.entity.DataiMetaPackageItem;
import org.apache.ibatis.annotations.Mapper;

/**
 * 元数据包项Mapper接口
 */
@Mapper
public interface DataiMetaPackageItemMapper extends BaseMapper<DataiMetaPackageItem> {
}

2.4 DataiMetaComponentMapper 接口

package com.datai.salesforce.metadata.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.datai.salesforce.metadata.entity.DataiMetaComponent;
import org.apache.ibatis.annotations.Mapper;

/**
 * 元数据组件Mapper接口
 */
@Mapper
public interface DataiMetaComponentMapper extends BaseMapper<DataiMetaComponent> {
}

2.5 DataiMetaComponentVersionMapper 接口

package com.datai.salesforce.metadata.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.datai.salesforce.metadata.entity.DataiMetaComponentVersion;
import org.apache.ibatis.annotations.Mapper;

/**
 * 元数据组件版本Mapper接口
 */
@Mapper
public interface DataiMetaComponentVersionMapper extends BaseMapper<DataiMetaComponentVersion> {
}

2.6 DataiMetaJobExecutionMapper 接口

package com.datai.salesforce.metadata.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.datai.salesforce.metadata.entity.DataiMetaJobExecution;
import org.apache.ibatis.annotations.Mapper;

/**
 * 元数据作业执行Mapper接口
 */
@Mapper
public interface DataiMetaJobExecutionMapper extends BaseMapper<DataiMetaJobExecution> {
}

2.7 DataiMetaDeployHistoryMapper 接口

package com.datai.salesforce.metadata.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.datai.salesforce.metadata.entity.DataiMetaDeployHistory;
import org.apache.ibatis.annotations.Mapper;

/**
 * 元数据部署历史Mapper接口
 */
@Mapper
public interface DataiMetaDeployHistoryMapper extends BaseMapper<DataiMetaDeployHistory> {
}

2.8 DataiMetaDeployComponentResultMapper 接口

package com.datai.salesforce.metadata.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.datai.salesforce.metadata.entity.DataiMetaDeployComponentResult;
import org.apache.ibatis.annotations.Mapper;

/**
 * 元数据部署组件结果Mapper接口
 */
@Mapper
public interface DataiMetaDeployComponentResultMapper extends BaseMapper<DataiMetaDeployComponentResult> {
}

2.9 DataiMetaJobLogMapper 接口

package com.datai.salesforce.metadata.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.datai.salesforce.metadata.entity.DataiMetaJobLog;
import org.apache.ibatis.annotations.Mapper;

/**
 * 元数据作业日志Mapper接口
 */
@Mapper
public interface DataiMetaJobLogMapper extends BaseMapper<DataiMetaJobLog> {
}

3. Mapper XML文件创建

3.1 DataiMetaOrgConfigMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.datai.salesforce.metadata.mapper.DataiMetaOrgConfigMapper">
    <!-- DataiMetaOrgConfigMapper.xml - Salesforce组织配置Mapper映射文件 -->
</mapper>

3.2 DataiMetaTaskMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.datai.salesforce.metadata.mapper.DataiMetaTaskMapper">
    <!-- DataiMetaTaskMapper.xml - 元数据任务定义Mapper映射文件 -->
</mapper>

3.3 DataiMetaPackageItemMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.datai.salesforce.metadata.mapper.DataiMetaPackageItemMapper">
    <!-- DataiMetaPackageItemMapper.xml - 元数据包项Mapper映射文件 -->
</mapper>

3.4 DataiMetaComponentMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.datai.salesforce.metadata.mapper.DataiMetaComponentMapper">
    <!-- DataiMetaComponentMapper.xml - 元数据组件Mapper映射文件 -->
</mapper>

3.5 DataiMetaComponentVersionMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.datai.salesforce.metadata.mapper.DataiMetaComponentVersionMapper">
    <!-- DataiMetaComponentVersionMapper.xml - 元数据组件版本Mapper映射文件 -->
</mapper>

3.6 DataiMetaJobExecutionMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.datai.salesforce.metadata.mapper.DataiMetaJobExecutionMapper">
    <!-- DataiMetaJobExecutionMapper.xml - 元数据作业执行Mapper映射文件 -->
</mapper>

3.7 DataiMetaDeployHistoryMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.datai.salesforce.metadata.mapper.DataiMetaDeployHistoryMapper">
    <!-- DataiMetaDeployHistoryMapper.xml - 元数据部署历史Mapper映射文件 -->
</mapper>

3.8 DataiMetaDeployComponentResultMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.datai.salesforce.metadata.mapper.DataiMetaDeployComponentResultMapper">
    <!-- DataiMetaDeployComponentResultMapper.xml - 元数据部署组件结果Mapper映射文件 -->
</mapper>

3.9 DataiMetaJobLogMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.datai.salesforce.metadata.mapper.DataiMetaJobLogMapper">
    <!-- DataiMetaJobLogMapper.xml - 元数据作业日志Mapper映射文件 -->
</mapper>

使用记录

日期 使用场景 输入参数 输出结果 反馈 改进措施
2026-01-19 实现基础实体类和Mapper创建功能 REQ-010-2需求文档0011-entity-mapper-create ADR文档 代码示例和实现指南