企业级数据归档系统完整说明文档(Java 后端视角)

告别格式混乱!用ONLYOFFICE文档服务搭建企业级文件转换系统(Java版) 本文详细介绍了如何利用ONLYOFFICE文档服务的强大API,结合Java技术栈构建一个稳定、高效且安全的企业级文件转换系统。文章从企业级需求拆解入手,提供了完整的微服务架构设计、Spring Boot核心服务实现代码,并深入探讨了高并发处理、安全验证、结果持久化等关键生产级问题的解决方案,助力企业告别文档格式混乱,实现自动化、可集成的文档处理流程。 阅读详情

以下是一份专为 Java 后端开发者设计的《企业级数据归档系统完整说明文档》,涵盖定义、作用、必要性、核心功能、实战建议,并结合真实业务场景提供带详细中文注释的代码示例,助力团队标准化落地。


📁 企业级数据归档系统完整说明文档(Java 后端视角)

一、定义:什么是数据归档?

数据归档(Data Archiving) 是指将不再频繁访问但仍有法律、审计或历史分析价值的业务数据,从在线主数据库中迁移至低成本、高容量的存储系统(如历史库、对象存储、冷存储)的过程。归档后的数据仍可查询,但通常不参与日常事务处理。

✅ 关键区分:

  • 删除(Delete):数据永久丢失,不可恢复。
  • 归档(Archive):数据保留,可追溯,仅移出“热”环境。

在 Java 后端系统中,归档是数据生命周期管理(DLM, Data Lifecycle Management) 的核心环节。


二、作用与必要性:为什么必须做归档?

作用说明
1. 保障数据库性能主库表数据量过大(如超 500 万行)会导致索引失效、查询变慢、写入阻塞。归档后,核心表保持轻量,TPS 提升 30%~70%。
2. 降低存储成本生产库使用高性能 SSD,归档库可使用 SATA 磁盘、MinIO、阿里云 OSS 等低成本存储,成本可降低 60% 以上。
3. 满足合规要求金融、医疗、政务等行业要求保留交易记录 5~10 年(如《网络安全法》《金融数据安全规范》),归档是合规刚需。
4. 提升备份与恢复效率每日全量备份大表耗时数小时,归档后只需备份热数据,备份窗口缩短 80%。
5. 避免“表锁”风险大表执行 DELETE 或 ALTER TABLE 会锁表,导致服务雪崩。归档采用“迁移+软删除”策略,规避此风险。

💡 企业级痛点:
某电商订单表 3 年累积 2.1 亿行,查询订单详情平均耗时 4.2s → 归档后降至 180ms。


三、归档类型(按技术实现与业务策略分类)

类型说明适用场景优缺点
1. 基于时间的归档按创建时间(如 > 18 个月)自动迁移订单、日志、操作记录✅ 简单易实现
❌ 无法处理业务逻辑依赖
2. 基于状态的归档按业务状态(如“已完成”“已关闭”)迁移订单、工单、合同✅ 更贴合业务
❌ 需维护状态机
3. 分库分表归档将历史数据迁移至独立历史库(如 order_archive_2023)大并发、高增长业务✅ 完全隔离
❌ 查询需跨库联合
4. 冷热分离归档热数据存 MySQL,冷数据存 Elasticsearch / MinIO / Hive日志、行为埋点、审计日志✅ 支持全文检索
❌ 维护复杂度高
5. 软删除 + 归档先标记 is_archived=1,再异步迁移金融交易、用户数据✅ 可回滚
❌ 需双重判断逻辑

✅ 推荐策略:“状态 + 时间”双因子归档
示例:订单状态 = 'FINISHED' 且 创建时间 > 18 个月 → 触发归档


四、什么是自动归档?为什么需要它?

✅ 定义:

自动归档(Automated Archiving) 是指通过定时任务、事件驱动或数据变更监听,无需人工干预,自动识别并迁移符合归档条件的数据。

🚫 为什么不能手动归档?

  • 人工执行易遗漏、不及时 → 数据堆积 → 系统崩溃
  • 无法保证一致性(如归档一半系统崩溃)
  • 不可审计、不可追踪

✅ 自动归档核心价值:

  • 无人值守:每天凌晨 2:00 自动执行,不影响白天业务
  • 可监控:记录归档条数、耗时、失败重试
  • 可回滚:支持“归档失败回退”机制
  • 可扩展:支持多租户、多业务线并行归档

五、核心功能清单(企业级系统必备)

功能模块说明
1. 归档规则配置中心支持 Web 界面配置:表名、条件、保留周期、目标库
2. 数据筛选与分页避免一次性加载全表,使用 LIMIT + OFFSET 或游标分页
3. 数据一致性校验归档前后行数、主键、关键字段校验(如 MD5 校验)
4. 异步迁移引擎使用线程池 + 消息队列(如 Kafka/RocketMQ)解耦,避免阻塞业务
5. 归档状态追踪记录每条记录的归档时间、状态(SUCCESS/FAILED/RETRY)
6. 失败重试机制支持 3 次指数退避重试,失败告警(企业微信/钉钉)
7. 归档审计日志记录谁、何时、归档了哪些数据(满足等保要求)
8. 数据恢复接口提供 restoreById() 接口,紧急情况下可恢复单条数据

六、实战建议:Java 后端落地最佳实践(含注释代码)

✅ 场景:订单系统归档(MySQL → MySQL 历史库)

1. 归档配置实体(Java Bean)
/**
 * 归档规则配置实体 - 存储在数据库中,支持动态修改
 * 支持多租户、多业务线,便于统一管理
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ArchiveRule {
    private Long id;                    // 主键
    private String tableName;           // 源表名:order_main
    private String archiveTableName;    // 目标归档表名:order_archive
    private String condition;           // WHERE 条件:status = 'FINISHED' AND create_time < ?
    private Integer retentionDays;      // 保留天数:180天
    private Boolean isEnabled;          // 是否启用
    private String tenantId;            // 租户ID,支持多租户
    private LocalDateTime updatedAt;    // 最后更新时间
}
2. 归档任务调度器(Spring Boot + @Scheduled)
@Service
@Slf4j
public class OrderArchiveService {

    @Autowired
    private JdbcTemplate mainJdbcTemplate;       // 主库
    @Autowired
    private JdbcTemplate archiveJdbcTemplate;    // 归档库

    @Autowired
    private ArchiveRuleRepository archiveRuleRepository; // 配置仓库

    /**
     * 每日凌晨2:00自动执行订单归档
     * ✅ 为什么用 @Scheduled?避免依赖外部调度系统(如XXL-JOB),轻量可控
     * ✅ 为什么用事务?确保主库与归档库数据一致性
     */
    @Scheduled(cron = "0 0 2 * * ?")
    @Transactional(rollbackFor = Exception.class)
    public void archiveFinishedOrders() {
        List<ArchiveRule> rules = archiveRuleRepository.findByEnabledTrue();
        for (ArchiveRule rule : rules) {
            try {
                long archivedCount = doArchive(rule);
                log.info("[归档任务] 成功归档 {} 条 {} 数据,租户: {}", archivedCount, rule.getTableName(), rule.getTenantId());
            } catch (Exception e) {
                log.error("[归档任务] 失败,规则ID: {}, 租户: {}", rule.getId(), rule.getTenantId(), e);
                // 发送告警:企业微信/钉钉
                alertService.sendAlert("归档失败:" + rule.getTableName() + ",租户:" + rule.getTenantId());
            }
        }
    }

    /**
     * 执行具体归档逻辑
     * ✅ 使用分页查询,避免内存溢出
     * ✅ 使用 PreparedStatement 防 SQL 注入
     * ✅ 归档前先查,归档后删,确保数据不丢失
     */
    private long doArchive(ArchiveRule rule) {
        String selectSql = "SELECT id, order_no, customer_id, amount, status, create_time " +
                           "FROM " + rule.getTableName() +
                           " WHERE " + rule.getCondition() +
                           " AND create_time < DATE_SUB(NOW(), INTERVAL ? DAY) " +
                           "ORDER BY create_time ASC LIMIT ? OFFSET ?";

        String insertSql = "INSERT INTO " + rule.getArchiveTableName() +
                           " (id, order_no, customer_id, amount, status, create_time) " +
                           "VALUES (?, ?, ?, ?, ?, ?)";

        String deleteSql = "DELETE FROM " + rule.getTableName() + " WHERE id = ?";

        int batchSize = 1000; // 每批处理1000条,平衡性能与内存
        int offset = 0;
        long totalArchived = 0;

        while (true) {
            // 分页查询待归档数据
            List<OrderDto> orders = mainJdbcTemplate.query(selectSql, new Object[]{rule.getRetentionDays(), batchSize, offset},
                    (rs, rowNum) -> new OrderDto(
                            rs.getLong("id"),
                            rs.getString("order_no"),
                            rs.getLong("customer_id"),
                            rs.getBigDecimal("amount"),
                            rs.getString("status"),
                            rs.getTimestamp("create_time")
                    ));

            if (orders.isEmpty()) break; // 没数据了,结束

            // 批量插入归档库
            archiveJdbcTemplate.batchUpdate(insertSql, batchArgs(orders));

            // 批量删除主库数据
            mainJdbcTemplate.batchUpdate(deleteSql, batchDeleteArgs(orders));

            totalArchived += orders.size();
            offset += batchSize;

            // 每批处理后暂停50ms,减轻数据库压力(防雪崩)
            try {
                Thread.sleep(50);
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
                break;
            }
        }

        return totalArchived;
    }

    // 构造批量插入参数
    private List<Object[]> batchArgs(List<OrderDto> orders) {
        return orders.stream()
                .map(o -> new Object[]{o.getId(), o.getOrderNo(), o.getCustomerId(), o.getAmount(),
                        o.getStatus(), o.getCreateTime()})
                .collect(Collectors.toList());
    }

    // 构造批量删除参数
    private List<Object[]> batchDeleteArgs(List<OrderDto> orders) {
        return orders.stream()
                .map(o -> new Object[]{o.getId()})
                .collect(Collectors.toList());
    }

    // 订单数据传输对象(DTO)
    @Data
    static class OrderDto {
        private Long id;
        private String orderNo;
        private Long customerId;
        private BigDecimal amount;
        private String status;
        private Timestamp createTime;

        public OrderDto(Long id, String orderNo, Long customerId, BigDecimal amount, String status, Timestamp createTime) {
            this.id = id;
            this.orderNo = orderNo;
            this.customerId = customerId;
            this.amount = amount;
            this.status = status;
            this.createTime = createTime;
        }
    }
}
3. 归档审计日志(关键!满足合规)
/**
 * 归档审计记录表 - 用于审计、追溯、合规检查
 * 满足《金融行业信息系统安全等级保护基本要求》三级
 */
@Entity
@Table(name = "archive_audit_log")
public class ArchiveAuditLog {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String tableName;          // 操作表名
    private String ruleId;             // 使用的归档规则ID
    private Long processedCount;       // 处理条数
    private Long failedCount;          // 失败条数
    private String status;             // SUCCESS / FAILED
    private String operator;           // 系统自动归档 = "SYSTEM"
    private LocalDateTime startTime;
    private LocalDateTime endTime;
    private String remarks;            // 错误信息

    // 生成审计日志的工具方法
    public static ArchiveAuditLog createSuccessLog(String tableName, Long ruleId, long count) {
        ArchiveAuditLog log = new ArchiveAuditLog();
        log.tableName = tableName;
        log.ruleId = String.valueOf(ruleId);
        log.processedCount = count;
        log.failedCount = 0L;
        log.status = "SUCCESS";
        log.operator = "SYSTEM";
        log.startTime = LocalDateTime.now();
        log.endTime = LocalDateTime.now();
        return log;
    }
}
4. 归档状态追踪(推荐使用 Redis 缓存归档进度)
@Service
public class ArchiveProgressTracker {

    @Autowired
    private StringRedisTemplate redisTemplate;

    /**
     * 记录某条记录是否已归档(防重复归档)
     * ✅ 使用 Redis SET,O(1) 查找,性能极高
     * ✅ key: archive:order:123456, value: "2025-10-15T02:00:00"
     */
    public boolean isArchived(Long recordId, String ruleKey) {
        String key = "archive:" + ruleKey + ":" + recordId;
        return redisTemplate.hasKey(key);
    }

    public void markAsArchived(Long recordId, String ruleKey) {
        String key = "archive:" + ruleKey + ":" + recordId;
        redisTemplate.opsForValue().set(key, LocalDateTime.now().toString(), Duration.ofDays(365)); // 保留1年
    }
}

七、企业级实战建议(避坑指南)

建议说明
✅ 不要直接 DELETE使用 UPDATE is_archived=1 + 异步归档,避免锁表
✅ 归档前做备份生产环境归档前,先对目标表做 mysqldump 备份
✅ 使用独立归档库不要和主库混用,避免资源争抢
✅ 归档后建索引归档表需对 create_time, status 建索引,提升查询效率
✅ 提供恢复接口业务方可调用 /api/v1/archive/restore/{id} 恢复数据,需权限校验
✅ 监控与告警监控归档成功率、耗时、堆积量,失败超 3 次自动告警
✅ 文档化规则所有归档规则必须在 Confluence 或 Git 中文档化,注明业务依据
✅ 灰度发布先在测试环境模拟 1000 条,再上线生产

八、推荐技术栈组合(Java 后端)

组件推荐方案
调度引擎Spring @Scheduled(轻量) / XXL-JOB(分布式)
数据库主库:MySQL 8.0;归档库:MySQL / PostgreSQL
存储扩展超冷数据 → MinIO / 阿里云 OSS
审计日志ELK / 自建 archive_audit_log 表
缓存追踪Redis(记录已归档 ID)
消息队列RocketMQ(异步归档任务分发)
监控Prometheus + Grafana 监控归档吞吐量

九、总结:归档不是“可选项”,是“生存刚需”

维度未归档已归档
查询性能慢(>2s)快(<200ms)
存储成本高(SSD)低(SATA/OSS)
备份耗时4小时30分钟
合规风险高低
系统稳定性易崩溃稳定可靠

🚀 行动建议:
请立即在团队内启动“归档评估会议”,识别出前3个最大表(订单、日志、操作记录),制定归档策略,3周内上线第一个自动归档任务。


📌 附:归档流程图(文字版)

[业务数据写入主库]
        ↓
[每日凌晨2:00触发归档任务]
        ↓
[查询符合条件数据(分页)]
        ↓
[批量插入归档库]
        ↓
[批量删除主库数据]
        ↓
[记录审计日志 + Redis 标记]
        ↓
[发送成功/失败告警]

构建高效可靠的Java归档系统 归档系统是指为满足业务长期保存数据需求而设计的存储和管理数据的系统。它负责将数据从活跃的存储环境中转移到成本效益更高的存储介质上,并提供数据检索功能,确保数据在需要时能被快速访问。数据存储技术作为信息时代基础设施的关键组成部分,正经历着快速的发展和变革。从早期的磁带到现在的固态硬盘,存储介质的类型和性能有了质的飞跃。技术的演进,不仅表现在存储介质的物理形态上,也反映在数据存取的速度、容量和可靠性等多个方面。 阅读详情

相关推荐

Landsat9 地表温度反演方法

landsat9地表温度反演及缺失值处理方法

xiangliu12345的博客 3916

【数据归档系】1. 浅谈理解数据归档

简单一句话总结,就是数据归档是识别非活动、生命周期完结状态的数据将其移出当前生产系统数据库并移入长期存储系统的过程系统级定期归档是脱离于具体应用模块的业务逻辑的,一般采取每天归档、月度归档、季度归档、年度归档几个粒度进行。月度、季度和年度归档是最为常用的归档模式。我们这里拿订单举例,以时间和状态的组合维度为做为归档数据的定义。

run_boy_2022的博客 3714

airodump-ng、aircrack-ng使用教程

wifi破解、airodump-ng、aircrack-ng脚本

ssmbyss的博客 2231

数据库归档及热点库_应用归档云组件——应用数据归档与清理的新玩法

前言数据归档是几乎所有业务系统都需要具有的一项重要功能,在当前应用系统架构向云原生、微服务架构演进的趋势下,如何通过平台化的方式为应用系统提供便捷可靠的数据归档能力,是应用归档云组件(Tesla Cloud Component of Archive,简称TCCA)研发的初心。基础技术团队调研了行内众多系统的应用数据归档与清理需求,并与生产运营的专家进行充分沟通和讨论,遵循我行的《数据生命...

weixin_39542742的博客 461

海康摄像头V3.4 升级改造VUE3

摘要:本文介绍了一个基于Vue3的海康威视摄像头组件封装方案。针对官方仅提供HTML版本SDK的问题,作者通过封装实现了Vue3组件化集成,解决了iframe/webview引入方式的弊端。组件核心功能包括实时预览、本地录像、录像下载、截图抓拍等,并优化了SDK初始化逻辑(单例模式)、定位问题修复和错误处理机制。关键技术点包括:1)SDK插件容器定位修复;2)录像下载进度监控;3)多格式图片数据处理;4)多窗口场景下的SDK实例管理。该组件可直接通过npm安装使用,提供了完善的API和事件接口,显著提升了海

LINLINLINShi的博客 113

思科路由器IPv6各种路由协议配置

思科路由器IPv6路由协议配置:1、静态路由配置;2、默认路由配置;3、RIPng路由配置;4、OSPFv3路由配置。

weixin_41687096的博客 6543

如何设计出一个比较合理的数据归档系统

在任何的数据库系统中,大部分都会有一个需求,数据归档,业务数据库不应该是永无止境的进行数据存取的目的地。业务数据库主要的功能是满足业务的保留数据的需求,以及相关保证性能等目的。如果留存的...

sql server的专栏 1123

Java实战:绿盾加密文件批量解密工具Ldterm的实现与优化

本文详细介绍了基于Java开发的绿盾加密文件批量解密工具Ldterm的实现与优化过程。通过分析绿盾加密机制,结合Java流处理能力,实现了高效的文件解密方案,并分享了多线程处理、内存优化等性能提升技巧,适用于企业级数据迁移与备份场景。

weixin_29314405的博客 487

数据归档管理系统

数据归档管理系统 来源:本站 发布时间:2009-5-16 14:19:51 浏览量:62   概述           从满足监管要求来看,银监会定期或不定期提出的监管要求,需要准备数据;从内部IT审计系统的需求来看,目前内部I

蓝叶菱的专栏 3542

基于传输门与传输管逻辑的全加器设计

全加器是指对输入的两个二进制数相加(A与B)同时会输入一个低位传来的进位(Ci-1),得到和数(SUM)和进位(Ci)。一位全加器可以处理低位进位,并输出本位加法进位。由于这种晶体管的漏极和源极完全可以互换使用,因此这种电路的输入端与输出端也可以互换,这就是具有信号传输双向特性的传输管。传输管的输入信号可以传输到输出端,同时输出端的信号也可以传输到输入端。半加器是指对输入的两个一位二进制数相加(A与B),输出一个结果位(SUM)和进位(C),没有进位的输入加法器电路,是一个实现一位二进制数的加法电路。

qq_40353731的博客 4381

GPS系统跟踪捕获算法的Verilog实现在FPGA

本文将介绍GPS系统中的跟踪捕获算法,并提供该算法的Verilog实现在FPGA上运行的源代码。常用的方法是将接收到的信号与一个本地振荡器产生的参考信号进行混频,然后使用带通滤波器提取出希望得到的频率分量。码跟踪的目的是通过检测接收到的信号中的码片序列来实现对导航数据的解调。以上是一个简化的GPS系统跟踪捕获算法的Verilog实现,其中包含了时间检测、频率跟踪和码跟踪三个模块。GPS信号由载波频率和导航数据组成。跟踪捕获算法的目标是通过对接收到的信号进行处理,从而获取到准确的载波频率和导航数据。

PixelEnigma的博客 1108

企业级大创管理系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

用最专业的技术、最实惠的价格、最真诚的态度服务大家。无论最终合作与否,咱们都是朋友,能帮的地方我绝不含糊。买卖不成仁义在,这就是我的做人原则。AIGC**技术包括:MySQL、VueJS、ElementUI、(Python或者Java或者.NET)等等。在校期间积极参与实验室项目研发,现为优快云特邀作者、掘金优质创作者。专业毕业设计指导、项目源码开发、技术答疑解惑,用学生视角理解学生需求,提供最贴心的技术帮助。Boot框架、前后端分离技术及常见毕设项目实现。可以直接联系我查看详细视频,个性签名!

caooooooca的博客 124

向华为学习——解读158页 华为敏捷园区网技术解决方案【附全文阅读】

华为敏捷园区网解决方案通过策略随行和体验随身技术,满足移动办公场景下的网络需求。该方案采用敏捷交换机和防火墙自动执行策略配置,实现用户身份认证与业务策略的无缝衔接,且策略配置与IP地址解耦,简化了管理流程。相比传统技术,该方案有效解决了用户分级、QoS保障、无线接入等关键问题,确保用户在移动过程中获得一致的网络体验。

cdfunlove的博客 378

企业级实验报告系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

企业级实验报告系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】,拿走直接用(附源码,数据库,视频,可提供说明文档(通过*AIGC*)*技术包括:MySQL、VueJS、ElementUI、(Python或者Java或者.NET)等等*功能如图所示。可以滴我获取详细的视频介绍

bozai_wang的博客 397

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

企业级科研管理系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

企业级科研管理系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】,拿走直接用(附源码,数据库,视频,可提供说明文档(通过。用最专业的技术、最实惠的价格、最真诚的态度服务大家。无论最终合作与否,咱们都是朋友,能帮的地方我绝不含糊。买卖不成仁义在,这就是我的做人原则。专业毕业设计指导、项目源码开发、技术答疑解惑,用学生视角理解学生需求,提供最贴心的技术帮助。遇见即是缘,欢迎交流,你别地能找到的源码我都有!可以直接联系我查看详细视频,个性签名!

caooooooca的博客 87

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

前后端分离Spring Boot律师事务所案件管理系统系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程

直接拿走,意外获得200多套代码,需要的滴我前后端分离Spring Boot律师事务所案件管理系统系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程(可提供说明文档(通过。提供全方位毕业设计解决方案,从项目规划、技术选型到源码实现的一站式服务。擅长技术难点攻坚与答疑解惑,始终以学生视角出发,深度理解学习痛点,致力于为每位学生提供最专业、最贴心的技术指导与支持。遇见即是缘,欢迎交流,你别地能找到的源码我都有!可以直接联系我查看详细视频,个性签名!查看我主页的置顶文章,文末领取。

bozai_wang的博客 88

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Java SpringBoot+微信小程序+MyBatis 高校学术研讨信息管理系统系统源码|前后端分离+MySQL数据库

Java SpringBoot+微信小程序+MyBatis 高校学术研讨信息管理系统系统源码|前后端分离+MySQL数据库,拿走直接用(附源码,数据库,视频,可提供说明文档(通过*AIGC*)*技术包括:MySQL、VueJS、ElementUI、(Python或者Java或者.NET)等等*功能如图所示。可以滴我获取详细的视频介绍

bozai_wang的博客 599

企业级在线问卷调查系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

开源免费分享企业级在线问卷调查系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】可提供说明文档 可以通过*AIGC**技术包括:MySQL、VueJS、ElementUI、(Python或者Java或者.NET)等等*功能如图所示。可以滴我获取详细的视频介绍

麦田上的预备码农 411

前后端分离学生心理咨询评估系统系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程

开源免费分享前后端分离学生心理咨询评估系统系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程可提供说明文档 可以通过*AIGC**技术包括:MySQL、VueJS、ElementUI、(Python或者Java或者.NET)等等*功能如图所示。可以滴我获取详细的视频介绍

bozai_wang的博客 681

企业级大学生心理咨询平台管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

开源免费分享企业级大学生心理咨询平台管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】可提供说明文档 可以通过*AIGC**技术包括:MySQL、VueJS、ElementUI、(Python或者Java或者.NET)等等*功能如图所示。可以滴我获取详细的视频介绍

caooooooca的博客 771

企业级新闻稿件管理系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

企业级新闻稿件管理系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】,拿走直接用(附源码,数据库,视频,可提供说明文档(通过*AIGC*)*技术包括:MySQL、VueJS、ElementUI、(Python或者Java或者.NET)等等*功能如图所示。可以滴我获取详细的视频介绍

yydYYDD的博客 388

企业级医院病历管理系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

开源免费分享企业级医院病历管理系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】可提供说明文档 可以通过*AIGC**技术包括:MySQL、VueJS、ElementUI、(Python或者Java或者.NET)等等*功能如图所示。可以滴我获取详细的视频介绍

OX158569的博客 621

企业级文档管理与知识沉淀工具:开源DMS系统实战指南

开源DMS系统是企业知识资产管理的核心工具,开源DMS系统通过系统化的文档组织与权限控制,帮助企业实现知识资产的有效沉淀,开源DMS系统不仅能提升文档流转效率,更能构建可持续的组织记忆体系。本文将从价值定位、环境准备、进阶配置、问题诊断和资源地图五个维度,全面解析如何利用开源DMS系统构建企业级知识管理平台。 ## 一、价值定位:开源DMS系统在企业知识资产管理中的核心作用 ### 如何通过开

gitblog_00117的博客 477

企业级毕业论文管理系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

开源免费分享企业级毕业论文管理系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】可提供说明文档 可以通过。AIGC**技术包括:MySQL、VueJS、ElementUI、(Python或者Java或者.NET)等等。在校期间积极参与实验室项目研发,现为优快云特邀作者、掘金优质创作者。专业毕业设计指导、项目源码开发、技术答疑解惑,用学生视角理解学生需求,提供最贴心的技术帮助。Boot框架、前后端分离技术及常见毕设项目实现。可以直接联系我查看详细视频,个性签名!

w707050的博客 80

SpringBoot+Vue 论文平台完整项目源码+SQL脚本+接口文档【Java Web毕设】

SpringBoot+Vue 论文平台完整项目源码+SQL脚本+接口文档【Java Web毕设】,拿走直接用(附源码,数据库,视频,可提供说明文档(通过*AIGC*)*技术包括:MySQL、VueJS、ElementUI、(Python或者Java或者.NET)等等*功能如图所示。可以滴我获取详细的视频介绍

bozai_wang的博客 150
上一篇: Spring Boot 3 中使用 FastJson2 替换 Jackson 的完整实施指南(企业级实战版)
下一篇: Java 及 Spring 生态中常用注解的分类整理
龙茶清欢
博客等级 码龄7年 3720粉丝 375原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙茶清欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值