笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述mybatis的通用mapper小结相关的知识,希望能为你提供帮助。
import tk.mybatis.mapper.entity.Example; //此包是tk下的
1.定义一个dao层接口不需要任何方法需要继承Mapper< 类型>
文章图片
2.在service中注入dao
【mybatis的通用mapper小结】
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; } }
推荐阅读
- applycall和bind的简单学习
- 吴裕雄--天生自然Android开发学习(android开发知识学习思维导图)
- 产品策略(核心概念和流程指南)
- 分解设计原理(带有信息图)
- 有说服力的设计(有效利用先进的心理学)
- 移动UI设计人员入门
- 如何设计可转换的登录页面
- 永远不要称自己为UI设计器(UI是UX)
- 净发起人得分还不够(你需要用户研究)