零基础实战】Java+MySQL开发校园共享图书管理系统
·

技术选型与准备
开发校园共享图书管理系统需要以下技术栈:
- 后端:Java(Spring Boot框架)
- 数据库:MySQL
- 前端:HTML/CSS/JavaScript(可选Thymeleaf或Vue.js)
- 工具:Maven、IntelliJ IDEA、Navicat(数据库管理)
确保安装JDK 1.8+、MySQL 5.7+,并配置好开发环境。
数据库设计
创建MySQL数据库book_share,设计核心表结构:
-- 用户表
CREATE TABLE `user` (
`id` INT PRIMARY KEY AUTO_INCREMENT,
`username` VARCHAR(50) NOT NULL UNIQUE,
`password` VARCHAR(100) NOT NULL,
`role` ENUM('admin', 'student', 'teacher') DEFAULT 'student'
);
-- 图书表
CREATE TABLE `book` (
`id` INT PRIMARY KEY AUTO_INCREMENT,
`title` VARCHAR(100) NOT NULL,
`author` VARCHAR(50) NOT NULL,
`status` ENUM('available', 'borrowed') DEFAULT 'available',
`owner_id` INT,
FOREIGN KEY (`owner_id`) REFERENCES `user`(`id`)
);
-- 借阅记录表
CREATE TABLE `borrow_record` (
`id` INT PRIMARY KEY AUTO_INCREMENT,
`book_id` INT NOT NULL,
`user_id` INT NOT NULL,
`borrow_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
`return_time` DATETIME,
FOREIGN KEY (`book_id`) REFERENCES `book`(`id`),
FOREIGN KEY (`user_id`) REFERENCES `user`(`id`)
);
Spring Boot项目搭建
-
初始化项目
使用Spring Initializr(https://start.spring.io/)生成项目,依赖选择:- Spring Web
- Spring Data JPA
- MySQL Driver
- Lombok(简化代码)
-
配置数据库连接
在application.properties中添加:spring.datasource.url=jdbc:mysql://localhost:3306/book_share spring.datasource.username=root spring.datasource.password=your_password spring.jpa.hibernate.ddl-auto=update
核心功能实现
用户登录与权限控制
// User实体类
@Entity
@Data
public class User {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String username;
private String password;
private String role;
}
// UserRepository接口
public interface UserRepository extends JpaRepository<User, Integer> {
User findByUsername(String username);
}
图书管理模块
// Book实体类
@Entity
@Data
public class Book {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String title;
private String author;
private String status;
@ManyToOne
@JoinColumn(name = "owner_id")
private User owner;
}
// BookController示例
@RestController
@RequestMapping("/api/book")
public class BookController {
@Autowired
private BookRepository bookRepository;
@GetMapping("/list")
public List<Book> list() {
return bookRepository.findAll();
}
}
借阅功能实现
// BorrowRecord实体类
@Entity
@Data
public class BorrowRecord {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@ManyToOne
@JoinColumn(name = "book_id")
private Book book;
@ManyToOne
@JoinColumn(name = "user_id")
private User user;
private LocalDateTime borrowTime;
private LocalDateTime returnTime;
}
前端页面(可选)
使用Thymeleaf或Vue.js构建简单界面:
- 登录页:表单提交用户名/密码
- 图书列表页:展示图书状态及借阅按钮
- 管理后台:管理员可审核图书上传
部署与测试
- 打包项目:
mvn clean package - 运行JAR:
java -jar target/book-share-system-0.0.1-SNAPSHOT.jar - 测试接口:
使用Postman测试API,如GET /api/book/list。
扩展功能建议
- 添加图书评分与评论
- 实现微信小程序端接入
- 引入Redis缓存热门图书
通过以上步骤,可完成一个基础的校园共享图书管理系统。根据实际需求调整功能复杂度。
更多推荐
所有评论(0)