spring boot 图书管理系统代码实现
时间: 2023-09-03 09:08:23 浏览: 151
图书管理系统的代码
这里给出一个简单的 Spring Boot 图书管理系统的代码实现,包含基本的CRUD操作。
1. 创建Spring Boot项目
首先,需要创建一个新的Spring Boot项目。可以使用Spring Initializr,选择Web和MySQL依赖,并生成一个Maven项目。
2. 配置数据库
在application.properties文件中,添加以下配置:
```
spring.datasource.url=jdbc:mysql://localhost:3306/library
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
```
其中,library为数据库名,root为数据库用户名,password为密码。需要根据实际情况修改。
3. 定义实体类
创建一个Book类,代表图书实体:
```
@Entity
@Table(name = "books")
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String title;
@Column(nullable = false)
private String author;
@Column(nullable = false)
private String isbn;
@Column(nullable = false)
private Integer quantity;
// getter and setter methods
}
```
4. 创建数据访问层
创建一个BookRepository接口,继承自JpaRepository:
```
public interface BookRepository extends JpaRepository<Book, Long> {
}
```
这样就可以使用JPA提供的CRUD方法来操作数据库。
5. 创建服务层
创建一个BookService类,包含对图书的CRUD操作:
```
@Service
public class BookService {
@Autowired
private BookRepository bookRepository;
public List<Book> findAll() {
return bookRepository.findAll();
}
public Optional<Book> findById(Long id) {
return bookRepository.findById(id);
}
public Book save(Book book) {
return bookRepository.save(book);
}
public void deleteById(Long id) {
bookRepository.deleteById(id);
}
}
```
6. 创建控制器
创建一个BookController类,处理图书相关的HTTP请求:
```
@RestController
@RequestMapping("/books")
public class BookController {
@Autowired
private BookService bookService;
@GetMapping
public List<Book> findAll() {
return bookService.findAll();
}
@GetMapping("/{id}")
public ResponseEntity<Book> findById(@PathVariable Long id) {
Optional<Book> book = bookService.findById(id);
if (book.isPresent()) {
return ResponseEntity.ok(book.get());
} else {
return ResponseEntity.notFound().build();
}
}
@PostMapping
public ResponseEntity<Book> create(@RequestBody Book book) {
book = bookService.save(book);
return ResponseEntity.created(URI.create("/books/" + book.getId())).body(book);
}
@PutMapping("/{id}")
public ResponseEntity<Book> update(@PathVariable Long id, @RequestBody Book book) {
Optional<Book> existing = bookService.findById(id);
if (existing.isPresent()) {
book.setId(id);
book = bookService.save(book);
return ResponseEntity.ok(book);
} else {
return ResponseEntity.notFound().build();
}
}
@DeleteMapping("/{id}")
public ResponseEntity<Void> deleteById(@PathVariable Long id) {
bookService.deleteById(id);
return ResponseEntity.noContent().build();
}
}
```
7. 测试
可以使用Postman等工具测试REST API的各项功能,如创建、更新、查询、删除图书等操作。
这就是一个简单的 Spring Boot 图书管理系统的实现,可以根据实际需求进行扩展和优化。
阅读全文