本指南将使用Spring Boot 3.2 + Vue 3 + MySQL 8.0构建一套轻量级的档案不动产管理系统。在开始编码前,需先准备好基础运行环境。
使用Docker快速启动MySQL和Redis服务,确保数据存储与缓存可用。请在终端执行以下命令:
启动MySQL:
```bash docker run -d \ --name estate-mysql \ -e MYSQL_ROOT_PASSWORD=root123456 \ -e MYSQL_DATABASE=estate_db \ -p 3306:3306 \ mysql:8.0 ```启动Redis:
```bash docker run -d \ --name estate-redis \ -p 6379:6379 \ redis:latest ```登录MySQL数据库并执行以下SQL脚本,创建核心的property_archive表。该表用于存储不动产档案的核心信息,包括产权人、房产证号、地理位置及档案电子化路径。
后端采用Spring Boot架构,负责处理业务逻辑与数据持久化。请创建Maven项目并按以下步骤配置。
在pom.xml中引入必要的依赖包,包括Web、MyBatis-Plus、MySQL驱动及Lombok。请确保版本号兼容。
在src/main/resources/application.yml中配置数据库连接信息及MyBatis-Plus的映射规则。
创建实体类、Mapper接口及Controller层。为了简化流程,此处省略Service层,直接在Controller调用Mapper。
实体类 (PropertyArchive.java):
```java package com.estate.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; @Data @TableName("property_archive") public class PropertyArchive { @TableId(type = IdType.AUTO) private Long id; private String ownerName; private String certNumber; private String propertyAddress; private BigDecimal buildArea; private Integer archiveStatus; private String filePath; private LocalDateTime createTime; private LocalDateTime updateTime; } ```
Mapper接口 (PropertyArchiveMapper.java):
```java package com.estate.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.estate.entity.PropertyArchive; import org.apache.ibatis.annotations.Mapper; @Mapper public interface PropertyArchiveMapper extends BaseMapper控制器 (PropertyArchiveController.java):
```java package com.estate.controller; import com.estate.entity.PropertyArchive; import com.estate.mapper.PropertyArchiveMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.; import java.util.List; @RestController @RequestMapping("/api/archives") @CrossOrigin(origins = "") public class PropertyArchiveController { @Autowired private PropertyArchiveMapper mapper; @PostMapping public String save(@RequestBody PropertyArchive archive) { mapper.insert(archive); return "归档成功"; } @GetMapping public List前端使用Vue 3配合Element Plus组件库,实现档案的录入与列表展示功能。
在终端执行以下命令创建Vue项目并安装依赖库:
```bash npm create vite@latest estate-frontend -- --template vue cd estate-frontend npm install element-plus axios ```修改src/main.js,全局引入Element Plus样式与组件库。
在src/App.vue中编写完整的业务逻辑,包含表单录入弹窗和数据表格展示。注意替换axios的baseURL为实际后端地址。
代码编写完成后,按顺序启动后端与前端服务进行验证。
在项目根目录下执行Maven命令启动Spring Boot应用:
```bash mvn spring-boot:run ```看到控制台输出Started EstateApplication in X seconds即表示启动成功。
在estate-frontend目录下执行:
终端会输出本地访问地址,通常是http://localhost:5173。
SELECT FROM property_archive;,确认数据已正确持久化。