```java // BookService.java public interface BookService { List<Book> findAll(); } // BookServiceImpl.java @Service public class BookServiceImpl implements BookService { @Autowired private BookMapper bookMapper; @Override public List<Book> findAll() { return bookMapper.selectAll(); } } // BookController.java @RestController @RequestMapping("/books") public class BookController { @Autowired private BookService bookService; @GetMapping @ResponseBody public List<Book> findAll() { return bookService.findAll(); } } // BookMapper.java @Mapper public interface BookMapper { @Select("SELECT * FROM books") List<Book> selectAll(); } ``` 需要注意的逻辑点 1. 异常处理:在 `BookServiceImpl` 中添加异常处理机制,确保数据库操作失败时能够优雅地返回错误信息。 2. 事务管理:如果后续有更复杂的业务逻辑(如更新或删除操作),考虑使用事务管理来保证数据一致性。 3. 分页处理:如果书籍数量较多,建议在 `findAll` 方法中加入分页功能,避免一次性加载过多数据导致性能问题。 [2024-12-08 14:23:56 | AI写代码神器 | 254点数解答]