You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 13:16:15