Java-网上图书商城系统

本项目是一个基于Spring Boot框架开发的网上图书商城系统,提供了完整的图书管理、 在线购买、图书借阅、图书归还、订单管理等功能。系统采用前后端分离架构,后端使用 Spring Boot + MyBatis Plus,前端使用Vue.js。

================================================================================

            网上图书商城系统项目说明文档

================================================================================


一、项目简介

--------------------------------------------------------------------------------

本项目是一个基于Spring Boot框架开发的网上图书商城系统,提供了完整的图书管理、

在线购买、图书借阅、图书归还、订单管理等功能。系统采用前后端分离架构,后端使用

Spring Boot + MyBatis Plus,前端使用Vue.js。


项目名称:网上图书商城系统

项目编号:springbootq3ulr

开发框架:Spring Boot 2.2.2.RELEASE

数据库:MySQL 5.7.31


二、技术栈

--------------------------------------------------------------------------------

后端技术:

- Spring Boot 2.2.2.RELEASE

- MyBatis Plus 2.3

- MySQL Connector

- Apache Shiro 1.3.2 (权限管理)

- FastJson 1.2.8

- Hutool 4.0.12

- 百度AI SDK 4.4.1

- Apache POI 3.11 (Excel导入导出)


前端技术:

- Vue.js

- Element UI


开发工具:

- JDK 1.8

- Maven

- MySQL 5.7+


三、项目结构

--------------------------------------------------------------------------------

springbootq3ulr/

├── db/             # 数据库脚本目录

│  └── springbootq3ulr.sql   # 数据库初始化脚本

├── src/

│  ├── main/

│  │  ├── java/com/

│  │  │  ├── annotation/   # 自定义注解

│  │  │  ├── config/     # 配置类

│  │  │  ├── controller/   # 控制器层

│  │  │  ├── dao/       # 数据访问层

│  │  │  ├── entity/     # 实体类

│  │  │  ├── interceptor/   # 拦截器

│  │  │  ├── service/     # 业务逻辑层

│  │  │  └── utils/      # 工具类

│  │  └── resources/

│  │    ├── admin/      # 后台管理前端

│  │    ├── front/      # 前台前端

│  │    ├── mapper/     # MyBatis映射文件

│  │    ├── static/     # 静态资源

│  │    └── application.yml # 配置文件

│  └── test/          # 测试代码

├── pom.xml           # Maven配置文件

└── mvnw             # Maven包装器


四、数据库设计

--------------------------------------------------------------------------------

数据库名称:springbootq3ulr


主要数据表:

1. yonghu (用户表)

  - 存储用户基本信息:账号、密码、姓名、性别、年龄、手机、邮箱、身份证、头像等


2. users (管理员表)

  - 存储管理员账号信息


3. tushuxinxi (图书信息表)

  - 图书基本信息:图书名称、图书类型、图片、价格、会员价、库存、图书介绍、

   出版社、作者、商户名称等


4. tushuleixing (图书类型表)

  - 图书分类信息:类型名称等


5. maijia (卖家表)

  - 卖家信息:账号、密码、姓名、性别、手机、邮箱、身份证、头像等


6. cart (购物车表)

  - 购物车信息:用户ID、商品ID、商品名称、图片、购买数量、单价、会员价、

   商户名称等


7. orders (订单表)

  - 订单信息:订单编号、商品表名、用户ID、商品ID、商品名称、商品图片、

   购买数量、价格、会员价、商户名称、订单类型、订单状态等


8. address (地址表)

  - 收货地址信息:用户ID、地址、收货人、电话、是否默认地址等


9. tushujieyue (图书借阅表)

  - 图书借阅信息:图书编号、图书名称、图书类型、图片、借阅数量、借阅时间、

   归还时间、账号、姓名、是否审核、审核回复等


10. tushuguihai (图书归还表)

  - 图书归还信息:图书编号、图书名称、图书类型、图片、借阅数量、借阅时间、

   归还时间、账号、姓名、是否审核、审核回复等


11. discusstushuxinxi (图书讨论表)

  - 图书评论信息:关联表名、关联ID、用户ID、用户名、头像、评论内容、

   回复内容等


12. news (系统公告表)

  - 系统公告信息:标题、简介、图片、内容等


13. storeup (收藏表)

  - 用户收藏信息:用户ID、收藏ID、表名、收藏名称、收藏图片等


14. config (配置表)

  - 系统配置参数


15. token (Token表)

  - 用户登录Token信息


五、功能模块

--------------------------------------------------------------------------------

1. 用户管理模块

  - 用户注册、登录

  - 个人信息管理

  - 密码修改


2. 卖家管理模块

  - 卖家注册、登录

  - 卖家信息管理

  - 图书发布管理


3. 图书管理模块

  - 图书信息发布

  - 图书分类管理

  - 图书信息浏览

  - 图书搜索功能

  - 图书详情查看


4. 购物车模块

  - 添加图书到购物车

  - 购物车商品管理

  - 购物车结算


5. 订单管理模块

  - 订单创建

  - 订单查询

  - 订单状态管理

  - 订单详情查看


6. 地址管理模块

  - 收货地址添加

  - 收货地址编辑

  - 默认地址设置

  - 收货人信息管理


7. 图书借阅模块

  - 图书借阅申请

  - 借阅记录查看

  - 借阅审核管理

  - 借阅时间管理


8. 图书归还模块

  - 图书归还申请

  - 归还记录查看

  - 归还审核管理


9. 图书讨论模块

  - 图书评论发布

  - 评论回复功能

  - 评论查看

  - 评论管理


10. 系统公告模块

  - 公告发布

  - 公告浏览


11. 收藏功能

  - 收藏图书

  - 收藏列表管理


12. 后台管理

  - 用户管理

  - 卖家管理

  - 图书管理

  - 订单管理

  - 借阅管理

  - 归还管理

  - 内容审核

  - 系统配置

  - 数据统计


六、环境配置

--------------------------------------------------------------------------------

1. JDK环境

  - 版本:JDK 1.8 或以上

  - 配置JAVA_HOME环境变量


2. Maven环境

  - 版本:3.6+ 

  - 配置MAVEN_HOME环境变量

  - 或使用项目自带的mvnw


3. MySQL数据库

  - 版本:5.7+ 或 8.0+

  - 创建数据库:springbootq3ulr

  - 字符集:utf8mb4


4. IDE工具

  - IntelliJ IDEA 或 Eclipse

  - 推荐使用IntelliJ IDEA


七、安装部署

--------------------------------------------------------------------------------


步骤1:数据库初始化

1. 打开MySQL客户端(如Navicat、MySQL Workbench等)

2. 执行SQL脚本:

  打开 db/springbootq3ulr.sql 文件,执行所有SQL语句

  或者使用命令行:

  mysql -u root -p < db/springbootq3ulr.sql

  

  注意:SQL脚本会自动创建数据库,如果数据库已存在,请先删除再执行


步骤2:修改数据库配置

1. 打开 src/main/resources/application.yml

2. 修改数据库连接信息:

  spring:

   datasource:

    url: jdbc:mysql://127.0.0.1:3306/springbootq3ulr?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8

    username: root    # 修改为你的MySQL用户名

    password: root    # 修改为你的MySQL密码


步骤3:编译项目

方式一:使用Maven命令

  mvn clean install


方式二:使用IDE

  - IntelliJ IDEA: 右键项目 -> Maven -> Reload Project -> 等待依赖下载完成


步骤4:运行项目

方式一:使用Maven命令

  mvn spring-boot:run


方式二:使用IDE

  - 找到 SpringbootSchemaApplication.java

  - 右键 -> Run 'SpringbootSchemaApplication'


方式三:打包运行

  mvn clean package

  java -jar target/springbootq3ulr-0.0.1-SNAPSHOT.jar


步骤5:访问系统

- 后台管理地址:http://localhost:8080/springbootq3ulr/admin/dist/index.html

- 前台地址:http://localhost:8080/springbootq3ulr/front/index.html

- API接口地址:http://localhost:8080/springbootq3ulr


默认管理员账号:

- 用户名:abo

- 密码:abo


默认测试用户:

- 账号:用户1

- 密码:123456


默认测试卖家:

- 账号:卖家1

- 密码:123456


八、API接口说明

--------------------------------------------------------------------------------

系统采用RESTful API设计,主要接口包括:


用户相关:

- POST /yonghu/register - 用户注册

- POST /yonghu/login - 用户登录

- GET /yonghu/info/{id} - 获取用户信息

- POST /yonghu/update - 更新用户信息


卖家相关:

- POST /maijia/register - 卖家注册

- POST /maijia/login - 卖家登录

- GET /maijia/info/{id} - 获取卖家信息

- POST /maijia/update - 更新卖家信息


图书信息相关:

- GET /tushuxinxi/list - 获取图书列表

- GET /tushuxinxi/info/{id} - 获取图书详情

- POST /tushuxinxi/add - 添加图书(卖家/管理员)

- POST /tushuxinxi/update - 更新图书信息(卖家/管理员)


图书类型相关:

- GET /tushuleixing/list - 获取图书类型列表

- POST /tushuleixing/add - 添加图书类型(管理员)


购物车相关:

- POST /cart/add - 添加到购物车

- GET /cart/list - 获取购物车列表

- POST /cart/update - 更新购物车

- POST /cart/delete - 删除购物车商品


订单相关:

- POST /orders/add - 创建订单

- GET /orders/list - 获取订单列表

- GET /orders/info/{id} - 获取订单详情

- POST /orders/update - 更新订单状态


地址相关:

- POST /address/add - 添加收货地址

- GET /address/list - 获取地址列表

- POST /address/update - 更新地址信息

- POST /address/delete - 删除地址


图书借阅相关:

- POST /tushujieyue/add - 申请借阅

- GET /tushujieyue/list - 获取借阅列表

- POST /tushujieyue/update - 更新借阅信息


图书归还相关:

- POST /tushuguihai/add - 申请归还

- GET /tushuguihai/list - 获取归还列表

- POST /tushuguihai/update - 更新归还信息


图书讨论相关:

- POST /discusstushuxinxi/add - 发布评论

- GET /discusstushuxinxi/list - 获取评论列表

- POST /discusstushuxinxi/reply - 回复评论


系统公告相关:

- GET /news/list - 获取公告列表

- GET /news/info/{id} - 获取公告详情


收藏相关:

- POST /storeup/add - 添加收藏

- GET /storeup/list - 获取收藏列表

- POST /storeup/delete - 删除收藏


文件上传:

- POST /file/upload - 上传文件


九、注意事项

--------------------------------------------------------------------------------

1. 数据库配置

  - 确保MySQL服务已启动

  - 确保数据库名称、用户名、密码正确

  - 确保数据库字符集为utf8mb4(支持emoji等特殊字符)


2. 端口占用

  - 默认端口:8080

  - 如端口被占用,修改 application.yml 中的 server.port


3. 文件上传

  - 上传文件大小限制:300MB

  - 上传文件保存在 static/upload/ 目录


4. 跨域问题

  - 如遇到跨域问题,检查拦截器配置

  - 确保前端请求地址正确


5. Token认证

  - 系统使用Token进行身份认证

  - Token有效期为1小时(可在代码中修改)


6. 权限控制

  - 管理员、卖家、普通用户有不同的权限

  - 部分接口需要登录后才能访问

  - 部分接口需要特定角色权限


7. 图书借阅归还

  - 借阅和归还需要审核

  - 管理员可以审核借阅和归还申请

  - 借阅时间由系统自动记录


十、常见问题

--------------------------------------------------------------------------------

Q1: 启动报错 "No database selected"

A1: 确保已执行数据库初始化脚本,或检查数据库连接配置


Q2: 启动报错 "Table 'xxx' doesn't exist"

A2: 检查是否已执行完整的SQL脚本,确保所有表都已创建


Q3: 前端页面无法访问

A3: 检查前端资源是否已编译,路径是否正确


Q4: 文件上传失败

A4: 检查 static/upload/ 目录是否存在且有写权限


Q5: 登录后提示Token无效

A5: 检查系统时间是否正确,Token可能已过期


Q6: 图书借阅功能无法使用

A6: 检查借阅审核流程,确保管理员已审核通过


Q7: 订单支付功能

A7: 系统支持订单创建,支付功能需要集成第三方支付接口


十一、开发建议

--------------------------------------------------------------------------------

1. 代码规范

  - 遵循Java编码规范

  - 使用有意义的变量和方法名

  - 添加必要的注释


2. 数据库操作

  - 使用MyBatis Plus提供的便捷方法

  - 复杂查询使用XML映射文件

  - 注意SQL注入防护


3. 异常处理

  - 统一异常处理

  - 返回友好的错误信息

  - 记录错误日志


4. 性能优化

  - 合理使用数据库索引

  - 避免N+1查询问题

  - 使用缓存提升性能


5. 安全建议

  - 密码加密存储

  - 防止SQL注入

  - 防止XSS攻击

  - 接口权限验证

  - 文件上传类型验证


6. 功能扩展

  - 可以集成支付接口(支付宝、微信支付)

  - 可以添加图书推荐算法

  - 可以添加图书评分系统

  - 可以添加图书库存预警

  - 可以添加图书销售统计


十二、项目维护

--------------------------------------------------------------------------------

1. 定期备份数据库

2. 定期检查日志文件

3. 及时更新依赖版本

4. 修复已知bug

5. 优化系统性能

6. 监控系统运行状态


十三、技术支持

--------------------------------------------------------------------------------

如遇到问题,请检查:

1. 日志文件:查看控制台输出或日志文件

2. 数据库连接:确认数据库服务正常

3. 配置文件:确认配置信息正确

4. 依赖版本:确认依赖版本兼容

5. 端口占用:确认端口未被占用

6. 文件权限:确认文件读写权限


十四、系统特色

--------------------------------------------------------------------------------

1. 完整的电商功能

  - 图书浏览、搜索、购买

  - 购物车、订单管理

  - 地址管理、支付流程


2. 图书借阅归还功能

  - 图书借阅申请

  - 借阅审核管理

  - 图书归还处理

  - 借阅记录查询


3. 多角色管理

  - 普通用户:购买图书、借阅图书

  - 卖家:发布图书、管理订单

  - 管理员:系统管理、内容审核


4. 完善的评论系统

  - 图书评论发布

  - 评论回复功能

  - 评论管理


5. 前后端分离架构

  - 前端使用Vue.js,界面美观

  - 后端提供RESTful API

  - 前后端独立部署


6. 权限管理完善

  - 基于Token的身份认证

  - 角色权限控制

  - 接口级别权限验证


================================================================================

               文档版本:1.0

             最后更新:2024年

================================================================================


Java-网上图书商城系统

点击播放项目演示

Click to play project demo

( 评价)
会员专享资源
开通会员即可免费下载
已有 0 人下载

购买源码保证可本地运行,如需协助运行或定制开发,请 联系作者

分类:未分类
更新时间:2026-01-15 16:04:49
标签:
Spring Boot管理系统Java

相关推荐