1. 程式人生 > 其它 >SB + Mybatis generator 實現模糊查詢

SB + Mybatis generator 實現模糊查詢

前提: 已生成自動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;

@Service
public 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); } }
EbookService

然後控制層是這樣的:

package com.bihu.study.controller;

import com.bihu.study.Bean.Ebook;
import com.bihu.study.Service.EbookService;
import 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; } }
EbookController

執行:

推薦另一種寫法 就是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