book/
├── src/
│ └── main/
│ ├── java/
│ │ └── com/yu/book/
│ │ ├── BookApplication.java # 启动类
│ │ ├── controller/ # 控制层
│ │ │ ├── UserController.java # 用户控制器
│ │ │ └── BookController.java # 书籍控制器
│ │ ├── service/ # 服务层
│ │ │ ├── UserService.java # 用户服务
│ │ │ └── BookService.java # 书籍服务
│ │ ├── mapper/ # 数据访问层
│ │ │ ├── UserMapper.java # 用户Mapper接口
│ │ │ ├── BookMapper.java # 书籍Mapper接口
│ │ │ └── CategoryMapper.java # 分类Mapper接口
│ │ ├── domain/ # 实体类(领域模型)
│ │ │ ├── User.java # 用户实体
│ │ │ ├── Book.java # 书籍实体
│ │ │ └── Category.java # 分类实体
│ │ ├── dto/ # 数据传输对象
│ │ │ ├── LoginDTO.java # 登录DTO
│ │ │ ├── RegisterDTO.java # 注册DTO
│ │ │ └── BookDTO.java # 书籍DTO
│ │ ├── vo/ # 视图对象
│ │ │ ├── UserVO.java # 用户VO
│ │ │ ├── BookVO.java # 书籍VO
│ │ │ └── LoginVO.java # 登录VO
│ │ ├── common/ # 通用类
│ │ │ ├── Result.java # 统一响应结果
│ │ │ └── PageResult.java # 分页结果
│ │ ├── util/ # 工具类
│ │ │ └── PasswordUtil.java # 密码工具类
│ │ └── exception/ # 异常处理
│ │ └── GlobalExceptionHandler.java # 全局异常处理器
│ └── resources/
│ ├── application.properties # 配置文件
│ ├── mapper/ # MyBatis XML映射文件
│ │ ├── UserMapper.xml
│ │ ├── BookMapper.xml
│ │ └── CategoryMapper.xml
│ └── db/
│ └── schema.sql # 数据库初始化脚本
├── pom.xml # Maven配置文件
├── API_DOCUMENTATION.md # API接口文档
└── README.md # 项目说明文档
src/main/resources/db/schema.sql 文件修改 src/main/resources/application.properties 中的数据库连接信息:
spring.datasource.url=jdbc:mysql://localhost:3306/books_db?...
spring.datasource.username=root
spring.datasource.password=root
# 使用Maven启动
mvn spring-boot:run
# 或者打包后运行
mvn clean package
java -jar target/book-0.0.1-SNAPSHOT.jar
项目启动后,访问地址:http://localhost:8080
详细API文档请参考 API_DOCUMENTATION.md
POST /api/user/registerPOST /api/user/loginGET /api/user/{id}GET /api/book/listGET /api/book/{id}POST /api/bookPUT /api/book/{id}DELETE /api/book/{id}DELETE /api/book/batch处理HTTP请求,调用Service层处理业务逻辑,返回响应结果。
实现业务逻辑,调用Mapper层进行数据操作。
MyBatis的Mapper接口,定义数据操作方法。
实体类,对应数据库表结构。
用于接收前端请求参数的对象。
用于返回给前端的数据对象。
统一的响应结果封装类。
通用工具方法。
全局异常处理器。