mybatisPlus整理

1.在启动类上面添加@MapperScan注解,扫描mapper包

复制代码
1 @SpringBootApplication
2 @MapperScan("com.qiao.demo02.mapper")
3 public class SpringbootDemo02Application {
4 
5     public static void main(String[] args) {
6         SpringApplication.run(SpringbootDemo02Application.class, args);
7     }
8 
9 }


2baseMapper里面生成了大量的crud方法

    UserMapper接口

public interface UserMapper extends BaseMapper<User> {
2 
3 }

1 public interface UserMapper extends BaseMapper<User> {
2 
3 }

  最重要的是继承BaseMapper<E>接口:里面声明了很强大的CRUD方法

public interface BaseMapper<T> extends Mapper<T> {
 2     int insert(T entity);
 3 
 4     int deleteById(Serializable id);
 5 
 6     int deleteByMap(@Param("cm") Map<String, Object> columnMap);
 7 
 8     int delete(@Param("ew") Wrapper<T> wrapper);
 9 
10     int deleteBatchIds(@Param("coll") Collection<? extends Serializable> idList);
11 
12     int updateById(@Param("et") T entity);
13 
14     int update(@Param("et") T entity, @Param("ew") Wrapper<T> updateWrapper);
15 
16     T selectById(Serializable id);
17 
18     List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList);
19 
20     List<T> selectByMap(@Param("cm") Map<String, Object> columnMap);
21 
22     T selectOne(@Param("ew") Wrapper<T> queryWrapper);
23 
24     Integer selectCount(@Param("ew") Wrapper<T> queryWrapper);
25 
26     List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);
27 
28     List<Map<String, Object>> selectMaps(@Param("ew") Wrapper<T> queryWrapper);
29 
30     List<Object> selectObjs(@Param("ew") Wrapper<T> queryWrapper);
31 
32     IPage<T> selectPage(IPage<T> page, @Param("ew") Wrapper<T> queryWrapper);
33 
34     IPage<Map<String, Object>> selectMapsPage(IPage<T> page, @Param("ew") Wrapper<T> queryWrapper);
35 }

复制代码
 1 public interface BaseMapper<T> extends Mapper<T> {
 2     int insert(T entity);
 3 
 4     int deleteById(Serializable id);
 5 
 6     int deleteByMap(@Param("cm") Map<String, Object> columnMap);
 7 
 8     int delete(@Param("ew") Wrapper<T> wrapper);
 9 
10     int deleteBatchIds(@Param("coll") Collection<? extends Serializable> idList);
11 
12     int updateById(@Param("et") T entity);
13 
14     int update(@Param("et") T entity, @Param("ew") Wrapper<T> updateWrapper);
15 
16     T selectById(Serializable id);
17 
18     List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList);
19 
20     List<T> selectByMap(@Param("cm") Map<String, Object> columnMap);
21 
22     T selectOne(@Param("ew") Wrapper<T> queryWrapper);
23 
24     Integer selectCount(@Param("ew") Wrapper<T> queryWrapper);
25 
26     List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);
27 
28     List<Map<String, Object>> selectMaps(@Param("ew") Wrapper<T> queryWrapper);
29 
30     List<Object> selectObjs(@Param("ew") Wrapper<T> queryWrapper);
31 
32     IPage<T> selectPage(IPage<T> page, @Param("ew") Wrapper<T> queryWrapper);
33 
34     IPage<Map<String, Object>> selectMapsPage(IPage<T> page, @Param("ew") Wrapper<T> queryWrapper);
35 }
复制代码
3.分页查询
 

这点官方文档讲的也很详细:https://mp.baomidou.com/guide/page.html

  新建一个config包,在里面建一个MybatisPlus配置类 返回一个分页拦截器

package com.qiao.demo02.config;
 2 
 3 @Configuration
 4 @ConditionalOnClass(value = {PaginationInterceptor.class})
 5 public class MybatisPlusConfig {
 6     @Bean
 7     public PaginationInterceptor paginationInterceptor() {
 9         return new PaginationInterceptor();
10 } 11 }

分页第一种方法

第一种方式,mybatis-plus原生QueryWrapper方式分页,这种方式比较简单,可以不用修改Mapper,适合简单的增删改查。

    @RequestMapping(value = "/orgist1")//,method = RequestMethod.POST)
    public Map<String,Object> orglist1()
    {

        Map<String,Object> map = new HashMap<>();

        QueryWrapper<OauthOrganization> queryWrapper =  new QueryWrapper<>();
        queryWrapper.orderByDesc("id");

        Page<OauthOrganization> page = new Page<>(1,5);  // 查询第1页,每页返回5条
        IPage<OauthOrganization> iPage = oauthOrganizationMapper.selectPage(page,queryWrapper);
        System.out.println(iPage.getRecords().size());
        System.out.println(JSON.toJSONString(iPage));
        return map;
    }


作者:小鱼儿2020
链接:https://www.jianshu.com/p/0a21569f1e06
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 
分页第二种方法

第二种方式,使用mapper文件的select注解,优点是可以方便的建立查询语句,可以联合多表查询。
Mapper文件

    @Select("SELECT * FROM oauth_organization WHERE id < #{m.id} ORDER BY `id` DESC")
    List<OauthOrganization> selectpage(Map<String,Object> m, Page<OauthOrganization> page);


作者:小鱼儿2020
链接:https://www.jianshu.com/p/0a21569f1e06
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 
 
posted @ 2020-05-02 14:17  wjj1013  阅读(636)  评论(0编辑  收藏  举报