通用Mapper简介

通用mapper是一个可以任意实现MyBatis通用方法的框架,项目提供了常用的增删查改方法以及Exmple相关的的单表操作,至于Exmple是啥,等下会提及;
总而言之,用通用Mapper更爽了。

通用Mapper方法介绍

查找

selectAll():查找全部
selectByExample(Object o):条件查询,Object中就包含了条件
selectByPrimaryKey(Object o):根据id查询

条件example对象的创建过程:

Example example = createExample(searchMap);

   private Example createExample(Map<String, Object> searchMap) {
       Example example = new Example(Brand.class);
       Example.Criteria criteria = example.createCriteria();
       if (null != searchMap) {
           //名称条件
           if (null != searchMap.get("name") && !"".equals(searchMap.get("name"))) {
               criteria.andLike("name", "%" + searchMap.get("name") + "%");
           }
           //首字母条件
           if (null != searchMap.get("letter") && !"".equals(searchMap.get("letter"))) {
               criteria.andEqualTo("letter", searchMap.get("letter"));
           }
       }
       return example;
   }

增加

insert(Brand t)

修改

updaupdateByPrimaryKeySelective(Brand t);
updateByPrimaryKey(Brand t);
updateByExampleSelective(Brand t, Object object);
updateByExample(Brand t, Object object)

其中前两个方法是根据主键id查找进行修改,参数Brand是指修改值的封装的对象;后两个方法是根据查询条件进行修改,参数Object封装的是查询条件。

对于有Selective的方法是指对数据库的值修改时,如果修改后的值为null,则不进行修改;
比如:
修改前数据库的值:name:小明,age:18
然后需要只修改传过来的值:name:小红,age:null
最后数据库中的值:name:小红,age:18

对于没有Selective的方法对数据库的值修改时,直接修改为传过来的值,
所以上面那个例子最后数据库中的值为:name:小红,age:null

删除

delete(Brand t):以实体Brand为条件删除
deleteByExample(Object o):以Object为条件查询
deleteByPrimaryKey(Object o):根据id查询

分页

PageHelper.startPage(page, size);

page:显示哪页;
size:一页多大
具体的使用这里不做讲解。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐