SB + Mybatis generator 實現模糊查詢
阿新 • • 發佈:2021-10-05
前提: 已生成自動Dao 、Bean、和 配置XML。
我們直接在服務層中寫:
package com.bihu.study.Service; import com.bihu.study.Bean.Ebook; import com.bihu.study.Bean.EbookExample; import com.bihu.study.Mapper.EbookMapper; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; @ServiceEbookServicepublic class EbookService { //Dao @Resource private EbookMapper ebookMapper; //模糊查詢實現 public List<Ebook> selectAll(String name){ //new一個EbookExample EbookExample ebookExample = new EbookExample(); //new一個EbookExample.createCriteria() EbookExample.Criteria criteria = ebookExample.createCriteria();//實施模糊查詢資料填充 criteria.andNameLike("%" + name + "%"); //查詢資料(Dao-selectByExample) 並 返回資料 ※※※ return ebookMapper.selectByExample(ebookExample); } }
然後控制層是這樣的:
package com.bihu.study.controller; import com.bihu.study.Bean.Ebook; import com.bihu.study.Service.EbookService;EbookControllerimport com.bihu.study.resp.CommonResp; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; @RestController public class EbookController { @Resource private EbookService ebookService; @GetMapping(value = {"/findEbook"}) public CommonResp findEbook(String name){ //新建一個CommonResp CommonResp<List<Ebook>> resp = new CommonResp<>(); //獲取資料庫資料 List<Ebook> list = ebookService.selectAll(name); //填充CommonResp 的內容 resp.setContent(list); //返回內容回去 return resp; } }
執行:
推薦另一種寫法 就是Bean自動對映的 :
如果要查詢其他資料 或 很多資料一起查詢。。 豈不是要寫很多個引數,這裡封裝一個類即可,[這是SpringMVC的基礎!很簡單不解釋..]
首先建立一個請求類,一般放req資料夾.
package com.bihu.study.req; public class EbookReq { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(getClass().getSimpleName()); sb.append(" ["); sb.append("Hash = ").append(hashCode()); sb.append(", id=").append(id); sb.append(", name=").append(name); sb.append("]"); return sb.toString(); } }EbookReq.java
只要你查詢的名字 和 Bean 的欄位名對應即可。【自動封裝】
測試:
嗯哼.
本文來自部落格園,作者:鹹瑜,轉載請註明原文連結:https://www.cnblogs.com/bi-hu/p/15368218.html