如何在Java Spring Boot中为CRUD操作添加返回布尔值的验证
修改后的Java Spring Boot Book服务类代码
以下是符合需求的完整服务类代码,已修正原代码的语法错误,并调整CRUD方法返回布尔值:
import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class BookService { // 修正原代码泛型错误,正确初始化HashMap private static HashMap<Integer, Book> bookMap = new HashMap<>(); /** * 新增书籍:ID不存在则创建并返回true,重复ID返回false */ public boolean createBook(Book bookToBeCreated) { if (bookMap.containsKey(bookToBeCreated.getId())) { return false; } bookMap.put(bookToBeCreated.getId(), bookToBeCreated); return true; } /** * 查询单本书籍:返回对应实体(若需返回布尔值,可改为return bookMap.containsKey(bookId);) */ public Book getBook(Integer bookId) { return bookMap.get(bookId); } /** * 查询所有书籍:返回书籍列表(若需返回布尔值,可改为return !bookMap.isEmpty();) */ public List<Book> getAllBooks() { return new ArrayList<>(bookMap.values()); } /** * 更新书籍:ID存在则更新并返回true,ID不存在返回false */ public boolean updateBook(Book bookToBeUpdated) { if (!bookMap.containsKey(bookToBeUpdated.getId())) { return false; } bookMap.put(bookToBeUpdated.getId(), bookToBeUpdated); return true; } /** * 删除书籍:ID存在则删除并返回true,ID不存在返回false */ public boolean deleteBook(Integer bookId) { // remove方法返回被删除的元素,不为空说明ID存在 return bookMap.remove(bookId) != null; } } // 配套的Book实体类示例 class Book { private Integer id; private String title; private String author; // 构造器、getter、setter方法省略 public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } // 其他字段的getter/setter方法 }
关键逻辑说明
- 新增(createBook):先校验目标ID是否已存在,存在则直接返回false;不存在则添加条目并返回true。
- 删除(deleteBook):借助
HashMap.remove()的返回值特性,删除成功(ID存在)则返回true,否则返回false。 - 更新(updateBook):先检查ID是否存在,存在则执行更新操作并返回true;不存在则返回false。
- 查询方法:保留原返回实体/列表的逻辑,若业务需要改为返回布尔值(比如判断是否存在数据),可参考注释中的修改方式。
内容的提问来源于stack exchange,提问作者Ayesha
相关产品推荐
相关产品推荐

