# ssm整合:新增搜尋功能 ###### tags: `ssm整合` ### Dao層的BookMapper.java 先確定我們要新增的方法到Dao層中 ```java= Books queryBookByName(@Param("bookName") String bookName); ``` ### BookMapper.xml 底層的SQL搜尋語法,用來實現Dao層的方法 ```xml= <select id="queryBookByName" resultType="Books"> select * from ssmbuild.books where bookName = #{bookName} </select> ``` ### Service層的BookService.java ```java= Books queryBookByName(String bookName); ``` ### Service層的實現類:BookServiceImpl.java 調用dao層的操作 ```java= @Override public Books queryBookByName(String bookName) { return bookMapper.queryBookByName(bookName); } ``` ### BookController ```java= //查詢書籍 @RequestMapping("/queryBook") public String queryBook(String queryBookName,Model model){ Books books = bookService.queryBookByName(queryBookName); System.out.println("books=>" + books); //將查詢到的書籍裝入列表中 List<Books> list = new ArrayList<Books>(); list.add(books); //若查無書籍,則顯示錯誤 if(books == null){ list = bookService.queryAllBook(); model.addAttribute("error","未查詢到"); } //返回到allBook頁面,使用allBook頁面設計好的表單來呈現結果 model.addAttribute("list",list); return "allBook"; } ``` 若查詢得到該書籍,會在allBook呈現 ![](https://i.imgur.com/IoCk1JC.png) 若查無書籍,會回報錯誤,並回到原始首頁 ![](https://i.imgur.com/kRd1CvX.png)