MyBatisPlus学习笔记

学习记录使用~

MyBatisPlus简介

MyBatisPlus(MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率。

MyBatis-plus官网: https://baomidou.com/

 

分页查询

    @Test
    void testGetByPage(){
        IPage page=new Page(1,2);//一页多少条
        userDao.selectPage(page,null);
        System.out.println("当前页码值:"+page.getCurrent());
        System.out.println("每页显示数:"+page.getSize());
        System.out.println("一共多少页:"+page.getPages());
        System.out.println("一共多少条数据:"+page.getTotal());
        System.out.println("数据:"+page.getRecords());
    }

在用分页查询之前先把拦截器打开

public class MpConfig {
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        //1.定义MP拦截器
        MybatisPlusInterceptor mybatisPlusInterceptor=new MybatisPlusInterceptor();
        //2.添加具体的拦截器
        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return mybatisPlusInterceptor;
    }
}

#开启mp的日志(输出到控制台)
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

DQL的三种写法

//        //都查
        List<User> userList=userDao.selectList(null);
        System.out.println(userList);


        //方式一:按条件查询
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.lt("age",18);
        List<User> userList=userDao.selectList(wrapper);
        System.out.println(userList);


//        方式二:lambda格式按条件查询
        QueryWrapper<User> wrapper=new QueryWrapper<User>();
        wrapper.lambda().lt(User::getAge,18);
        List<User> userList=userDao.selectList(wrapper);
        System.out.println(userList);



        //方式三:
        LambdaQueryWrapper<User> lqw=new LambdaQueryWrapper<User>();
        //10到30岁之间----and lt--<;gt-->
        lqw.ge(User::getAge,10).lt(User::getAge,30);
        //小于10岁或大于30岁----or
        lqw.ge(User::getAge,30).or().lt(User::getAge,10);

        List<User> userList=userDao.selectList(lqw);
        System.out.println(userList);

查询条件null值判定 

    //查询条件null值判定
        UserQuery uq=new UserQuery();
        uq.setAge(10);
        uq.setAge2(20);
        //null判定
        LambdaQueryWrapper<User> lqw=new LambdaQueryWrapper<User>();
        //先判断第一个参数是否为true,如果为true连接当前条件
        lqw.lt(null!=uq.getAge2(),User::getAge,uq.getAge2());
        lqw.gt(null!=uq.getAge(),User::getAge,uq.getAge());

        List<User> userList=userDao.selectList(lqw);
        System.out.println(userList);

查询投影 

        //查询投影
        LambdaQueryWrapper<User> lqw=new LambdaQueryWrapper<User>();
        lqw.select(User::getId,User::getName,User::getAge);
        List<User> userList=userDao.selectList(lqw);
        System.out.println(userList);
         
        QueryWrapper<User> qw=new QueryWrapper<User>();
        qw.select("id","name","tel");
        List<User> userList=userDao.selectList(qw);
        System.out.println(userList);
        
        QueryWrapper<User> qw=new QueryWrapper<User>();
        qw.select("count(*) as count,tel");
        qw.groupBy("tel");
        List<User> userList=userDao.selectList(qw);
        System.out.println(userList);

条件查询

        //条件查询
        LambdaQueryWrapper<User> lqw=new LambdaQueryWrapper<User>();
        //等同于=
        lqw.eq(User::getName,"Jerry").eq(User::getPassword,"Jerry");

       User loginUser=userDao.selectOne(lqw);
        System.out.println(loginUser);

        LambdaQueryWrapper<User> lqw=new LambdaQueryWrapper<User>();
        //范围查询 lt le gt ge eq between
        lqw.between(User::getAge,18,20);
        User loginUser=userDao.selectOne(lqw);
        System.out.println(loginUser);

        LambdaQueryWrapper<User> lqw=new LambdaQueryWrapper<User>();
        //模糊匹配 like
        lqw.like(User::getName,"J");//likeLef/LikeRight
        User loginUser=userDao.selectOne(lqw);
        System.out.println(loginUser);

映射兼容匹配性

 id自动生成策略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值