mybatis的通用mapper小結


import tk.mybatis.mapper.entity.Example; //此包是tk下的
1.定義一個dao層接口不需要任何方法 需要繼承Mapper<類型>

 

 2.在service中注入dao

 

import com.alibaba.dubbo.config.annotation.Service; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper;import org.springframework.beans.factory.annotatio n.Autowired; import tk.mybatis.mapper.entity.Example; import java.util.List; import java.util.Map; /** * 實現類 * BandService類 在接口包下 * @date 2019/12/9 9:14 */ @Service //注意導入的是dubbo的包
public class BrandServiceImpl implements BrandService { @Autowired private BrandMapper brandMapper; //依賴注入
 @Override//查詢所有
    public List<Brand> findAll() { return brandMapper.selectAll(); } @Override //分頁查詢品牌 page:頁碼 size:每頁記錄數
    public PageResult<Brand> findPage(int page, int size) { PageHelper.startPage(page,size);//分頁 需要添加在查詢的結果的上面
        Page<Brand> pageResult=(Page<Brand>) brandMapper.selectAll(); return new PageResult<>(pageResult.getTotal(),pageResult.getResult()); } @Override//條件查詢
    public List<Brand> findList(Map<String, Object> searchMap) { Example example = createExample(searchMap);//把方法提取出來了
        return brandMapper.selectByExample(example); } @Override//品牌條件+分頁查詢
    public PageResult<Brand> findPage(Map<String, Object> searchMap, int page, int size) { PageHelper.startPage(page,size); Example example = createExample(searchMap); Page<Brand> brands= (Page<Brand>) brandMapper.selectByExample(example); return new PageResult<>(brands.getTotal(),brands.getResult()); } @Override //根據id查詢品牌
    public Brand findById(Integer id) { return brandMapper.selectByPrimaryKey(id); } @Override //插入數據
    public void add(Brand brand) { brandMapper.insert(brand); } @Override //更新 數據
    public void update(Brand brand) { brandMapper.updateByPrimaryKeySelective(brand); } @Override //刪除
    public void delete(Integer id) { brandMapper.deleteByPrimaryKey(id); } //把方法提取出來了(創建一個example對象)
    private Example createExample(Map<String,Object> searchMap){ Example example=new Example(Brand.class); // example是Mybatis數據層框架中的一個工具,可以幫我們完成sql語句中where條件句的書寫, // 相當於where后面的部分,我們可以根據不同的條件來查詢和操作數據庫,簡化書寫sql的過程。
        Example.Criteria criteria = example.createCriteria(); if (searchMap!=null){ if (searchMap.get("name")!=null&&!"".equals(searchMap.get("name"))){ criteria.andLike("name","%"+(String)searchMap.get("name")+"%");//品牌名字的模糊查詢
 } if(searchMap.get("letter")!=null&&!"".equals(searchMap.get("letter"))){//letter品牌的首字母
                criteria.andEqualTo("letter",(String)searchMap.get("letter"));//品牌首字母精確查詢
 } } return example; } }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM