写一个基于springboot框架的图书管理系统
时间: 2023-12-07 13:02:49 浏览: 85
好的,我可以提供一个基于springboot框架的图书管理系统的简单实现。
首先,你需要创建一个maven项目,并添加以下依赖:
```xml
<dependencies>
<!-- Spring Boot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Data JPA -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- H2 Database Engine -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
```
接下来,你需要创建一个实体类 `Book`,用于表示图书:
```java
@Entity
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String title;
private String author;
private String isbn;
// Getters and setters
}
```
然后,你需要创建一个 `BookRepository` 接口,用于与数据库进行交互:
```java
@Repository
public interface BookRepository extends JpaRepository<Book, Long> {
List<Book> findByTitleContainingIgnoreCase(String title);
List<Book> findByAuthorContainingIgnoreCase(String author);
List<Book> findByIsbnIgnoreCase(String isbn);
}
```
接下来,你需要创建一个 `BookService` 类,用于实现图书管理的业务逻辑:
```java
@Service
public class BookService {
@Autowired
private BookRepository bookRepository;
public List<Book> search(String keyword) {
List<Book> books = new ArrayList<>();
books.addAll(bookRepository.findByTitleContainingIgnoreCase(keyword));
books.addAll(bookRepository.findByAuthorContainingIgnoreCase(keyword));
books.addAll(bookRepository.findByIsbnIgnoreCase(keyword));
return books;
}
public Book add(Book book) {
return bookRepository.save(book);
}
public void delete(Long id) {
bookRepository.deleteById(id);
}
}
```
最后,你需要创建一个 `BookController` 类,用于实现 RESTful API:
```java
@RestController
@RequestMapping("/api/books")
public class BookController {
@Autowired
private BookService bookService;
@GetMapping
public List<Book> search(@RequestParam("q") String keyword) {
return bookService.search(keyword);
}
@PostMapping
public Book add(@RequestBody Book book) {
return bookService.add(book);
}
@DeleteMapping("/{id}")
public void delete(@PathVariable("id") Long id) {
bookService.delete(id);
}
}
```
现在你可以启动应用程序,并通过以下 RESTful API 进行测试:
- GET /api/books?q=keyword:搜索图书
- POST /api/books:添加图书
- DELETE /api/books/{id}:删除图书
这是一个简单的图书管理系统的实现,你可以根据自己的需求进行扩展。
阅读全文