AI智能摘要
通义
生成于 1 月 前
宠物管理系统是一个基于Spring MVC和MyBatis的Java Web应用,提供用户与宠物信息管理功能。采用三层架构设计,支持用户注册登录、宠物增删改查、权限控制及响应式界面。技术栈包括Spring、MyBatis、MySQL等,适合学习与实践。项目结构清晰,具备良好的扩展性和可维护性,适用于教学与实战。
宠物管理系统
项目简介: 宠物管理系统是一个基于 Spring MVC + MyBatis 架构的全栈 Java Web 应用,提供完整的用户管理和宠物信息管理功能。采用经典的三层架构设计,代码规范清晰,非常适合 Java Web 开发学习与实践。

核心功能
- 用户管理 – 支持用户注册、登录、注销,Session会话管理,用户名唯一性校验
- 宠物管理 – 宠物的增删改查,支持分页查询、条件搜索(按名称/类型/用户)
- 权限控制 – 用户只能管理自己的宠物,保障数据安全
- 宠物类型 – 预置6种宠物类型(狗、猫、兔子、仓鼠、鹦鹉、金鱼),支持扩展
- 响应式界面 – 基于 Bootstrap 5 构建,适配各种屏幕尺寸
技术栈
后端技术
| 技术 | 版本 | 说明 |
|---|---|---|
| Spring Framework | 5.3.20 | IoC/DI 容器,核心框架 |
| Spring MVC | 5.3.20 | Web MVC 框架 |
| MyBatis | 3.5.10 | ORM 持久层框架 |
| MySQL | 8.0.29 | 关系型数据库 |
| Druid | 1.2.11 | 高性能数据库连接池 |
| Jackson | 2.13.3 | JSON 序列化处理 |
| Log4j + SLF4J | 1.2.17 | 日志框架 |
| Maven | 3.x | 项目构建工具 |
前端技术
| 技术 | 版本 | 说明 |
|---|---|---|
| JSP | – | 服务端模板引擎 |
| Bootstrap | 5.3.0 | UI 组件框架 |
| Bootstrap Icons | 1.10.0 | 图标库 |
| AJAX/Fetch | – | 异步请求处理 |
项目架构
项目采用标准的 三层架构 设计,层次分明,职责清晰:
hjj-pet/
├── src/main/java/com/hjj/
│ ├── controller/ # 控制层 - 处理HTTP请求
│ │ ├── IndexController.java
│ │ ├── UserController.java
│ │ └── PetController.java
│ │
│ ├── service/ # 业务逻辑层
│ │ ├── UserService.java
│ │ ├── PetService.java
│ │ └── impl/ # 接口实现
│ │
│ ├── dao/ # 数据访问层 (MyBatis接口)
│ │ ├── UserDao.java
│ │ ├── PetDao.java
│ │ └── PetTypeDao.java
│ │
│ └── entity/ # 实体类
│ ├── User.java
│ ├── Pet.java
│ └── PetType.java
│
├── src/main/resources/
│ ├── spring-config.xml # Spring 配置
│ ├── spring-mvc.xml # MVC 配置
│ ├── jdbc.properties # 数据库配置
│ └── mapper/ # MyBatis SQL映射
│
└── src/main/webapp/
├── static/ # 静态资源 (CSS/JS/图片)
└── WEB-INF/views/ # JSP 视图文件
数据库设计
系统包含三张核心数据表,采用外键关联保证数据完整性:
-- 用户表
CREATE TABLE user (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) UNIQUE NOT NULL,
password VARCHAR(100) NOT NULL,
email VARCHAR(100),
phone VARCHAR(20),
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- 宠物类型表
CREATE TABLE pet_type (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) UNIQUE NOT NULL,
description VARCHAR(200)
);
-- 宠物表
CREATE TABLE pet (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
type_id INT,
user_id INT,
age INT,
gender TINYINT DEFAULT 0, -- 0-未知 1-公 2-母
color VARCHAR(50),
description VARCHAR(500),
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (type_id) REFERENCES pet_type(id),
FOREIGN KEY (user_id) REFERENCES user(id)
);

API 接口
用户接口
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /user/toLogin | 跳转登录页 |
| POST | /user/login | 用户登录 |
| POST | /user/register | 用户注册 |
| GET | /user/logout | 用户登出 |
| GET | /user/info | 获取用户信息 |
| POST | /user/update | 更新用户信息 |
宠物接口
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /pet/list | 宠物管理页面 |
| GET | /pet/myPets | 获取我的宠物列表 |
| GET | /pet/search | 搜索宠物 |
| GET | /pet/{id} | 获取宠物详情 |
| POST | /pet/add | 新增宠物 |
| POST | /pet/update | 更新宠物信息 |
| POST | /pet/delete/{id} | 删除宠物 |
| GET | /pet/types | 获取所有宠物类型 |
安装部署
第一步:环境准备
确保已安装以下环境:
- JDK 1.8+
- Maven 3.x
- MySQL 8.0+
- Tomcat 9.x
第二步:导入数据库
创建数据库并执行初始化脚本:
# 登录MySQL
mysql -u root -p
# 创建数据库
CREATE DATABASE hjj_pet CHARACTER SET utf8mb4;
# 导入初始化脚本
USE hjj_pet;
SOURCE sql/init.sql;
第三步:修改配置
编辑 src/main/resources/jdbc.properties,配置数据库连接:
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/hjj_pet?useSSL=false&serverTimezone=UTC
jdbc.username=你的用户名
jdbc.password=你的密码
第四步:编译部署
# Maven 打包
mvn clean package
# 将 target/hjj-pet.war 部署到 Tomcat 的 webapps 目录
# 启动 Tomcat 后访问 http://localhost:8080/hjj-pet
测试账号
| 用户名 | 密码 | 说明 |
|---|---|---|
| admin | 123456 | 管理员账号,拥有测试宠物数据 |
| test | 123456 | 测试账号 |
项目亮点
- 规范的三层架构 – Controller → Service → DAO 分层清晰,易于维护和扩展
- Spring 依赖注入 – 使用 @Autowired 注解实现组件自动装配
- MyBatis 动态SQL – 灵活的条件查询,支持多条件组合搜索
- Druid 连接池 – 高性能数据库连接管理,内置监控功能
- 事务管理 – 基于 @Transactional 注解的声明式事务
- RESTful 设计 – 接口设计规范,支持 JSON 数据交互
- Bootstrap UI – 现代化响应式界面,用户体验良好
注意事项:
1. 请确保 MySQL 服务已启动且数据库配置正确
2. 首次运行需要执行 sql/init.sql 初始化数据库
3. 项目默认端口为 8080,如有冲突请修改 Tomcat 配置
1. 请确保 MySQL 服务已启动且数据库配置正确
2. 首次运行需要执行 sql/init.sql 初始化数据库
3. 项目默认端口为 8080,如有冲突请修改 Tomcat 配置
适用场景:本项目非常适合作为 Java Web 开发学习项目、SSM 框架入门实战、或作为毕业设计/课程设计的参考模板。
THE END










暂无评论内容