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; } }