# qazll-tool **Repository Path**: qazll/qazll-tool ## Basic Information - **Project Name**: qazll-tool - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-13 - **Last Updated**: 2026-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数据同步系统 - 启动说明 ## 系统要求 - **JDK**: 1.8 (Java 8) 或以上版本 - **Maven**: 3.6 或以上版本 (可选,如果有Maven Wrapper则不需要) ## 启动步骤 ### 使用Maven启动 (如果已安装Maven) ```bash # 方式1: 直接运行 mvn spring-boot:run # 方式2: 先打包再运行 mvn clean package java -jar target/datasync-0.0.1-SNAPSHOT.jar ``` ### 使用IDE启动 1. 导入项目到IDE (IntelliJ IDEA / Eclipse) 2. 等待Maven依赖下载完成 3. 找到 `DataSyncApplication.java` 4. 右键 -> Run 'DataSyncApplication' ## 访问系统 启动成功后,在浏览器中访问: - **主页**: http://localhost:8080 - **H2数据库控制台**: http://localhost:8080/h2-console - JDBC URL: `jdbc:h2:file:./data/datasync` - 用户名: `sa` - 密码: (留空) ## 功能使用步骤 1. **环境管理**: 配置来源环境和目标环境 - 访问: http://localhost:8080/environment.html - 添加环境,设置名称、基础URL、认证方式 2. **来源接口**: 配置数据来源接口 - 访问: http://localhost:8080/source-api.html - 添加接口,选择环境,设置URL和请求参数 3. **目标接口**: 配置数据发送接口 - 访问: http://localhost:8080/target-api.html - 添加接口,设置请求体模板(支持${fieldName}占位符) 4. **关联关系**: 配置接口关联和字段映射 - 访问: http://localhost:8080/relation.html - 添加关联,选择来源和目标接口 - 配置字段映射关系 5. **同步执行**: 执行数据同步 - 访问: http://localhost:8080/sync-execute.html - 选择关联关系,点击执行同步 - 查看执行日志和历史记录 ## 技术栈 - **后端**: Spring Boot 2.7.18 + MyBatis-Plus 3.5.3.1 + OkHttp3 - **前端**: HTML + Vue 3 (CDN) + Element Plus (CDN) + Axios (CDN) - **数据库**: H2 (文件数据库) - **持久化框架**: MyBatis-Plus - **构建工具**: Maven ## 特性 - ✅ 可配置来源环境和目标环境以及认证 - ✅ 可配置来源接口以及配置接口关联关系 - ✅ 可配置目标接口 - ✅ 后端使用OkHttp3执行接口,增加自动重试逻辑(默认3次,递增延迟) - ✅ 所有接口执行抽象出通用方法 - ✅ 前端无需构建,直接启动即可使用 - ✅ 支持字段映射和固定值设置 - ✅ 支持请求体模板(占位符替换) - ✅ 支持批量同步执行 - ✅ 实时执行日志显示 ## 常见问题 ### 1. 端口8080被占用 修改 `src/main/resources/application.yml`: ```yaml server: port: 8081 # 改为其他端口 ``` ### 2. H2数据库文件位置 数据库文件保存在 `./data/datasync.mv.db`,可在配置文件中修改路径。 ### 3. MyBatis-Plus配置 项目使用MyBatis-Plus作为持久化框架,相关配置在 `application.yml` 中的 `mybatis-plus` 节点: - SQL日志: 开发环境可开启 `log-impl: org.apache.ibatis.logging.stdout.StdOutImpl` - 驼峰转换: 已开启 `map-underscore-to-camel-case: true` - ID策略: 使用数据库自增 `id-type: auto` - Mapper扫描: 已在启动类配置 `@MapperScan("com.qazll.datasync.repository")` ### 4. 跨域问题 项目已配置CORS支持,默认允许所有来源。如需修改,编辑 `WebConfig.java`。 ## 项目结构 ``` qazll-tool/ ├── pom.xml ├── src/main/java/com/qazll/datasync/ │ ├── DataSyncApplication.java │ ├── config/ # 配置类 │ ├── controller/ # REST控制器 │ ├── service/ # 业务逻辑 │ ├── entity/ # 实体类 │ ├── repository/ # 数据访问 │ └── dto/ # 数据传输对象 └── src/main/resources/ ├── application.yml └── static/ # 前端HTML页面 ├── index.html ├── environment.html ├── source-api.html ├── target-api.html ├── relation.html └── sync-execute.html ``` ## 联系支持 如有问题,请检查: 1. Java版本是否为1.8或以上 2. Maven是否正确安装 3. 端口是否被占用 4. 查看控制台日志输出