MyBatis Plus 分页 构造查询 子查询


    /**
     * @author xp
     * @description mybatis-plus分页
     * @date 2019/3/15 11:03
     */
    @RequestMapping("/selectUserPage")
    @ResponseBody
    public IPage<User> selectUserPage() {
        //  从第1页开始 每页5条
        Page<User> page = new Page<>(1, 5);
        //  自动分页    查询条件   age=20
        //  IPage<User> userIPage = userMapper.selectPageVo(page, 20);
        IPage<User> userIPage = userMapper.selectPage(page, new QueryWrapper<User>().eq("age", 20));
        System.out.println("总条数 ------> " + userIPage.getTotal());
        System.out.println("当前页数 ------> " + userIPage.getCurrent());
        System.out.println("当前每页显示数 ------> " + userIPage.getSize());
        return userIPage;
    }

    /**
     * @author xp
     * @description 查询
     * @date 2019/3/15 11:03
     */
    @RequestMapping("/selectUser")
    @ResponseBody
    public void selectUser() {
        //根据id查询
        User user = userMapper.selectById(1);
        System.out.println("根据id查询" + user);

        //普通查询
        System.out.println("----- 普通查询 ------");
        List<User> plainUsers = userMapper.selectList(new QueryWrapper<User>().eq("role_id", 2L).orderByAsc("age"));
        List<User> lambdaUsers = userMapper.selectList(new QueryWrapper<User>().lambda().eq(User::getRoleId, 2L));
        System.out.println("查询默认未删除 deleted=0" + plainUsers);



        //子查询
        System.out.println("----- 子查询 ------");
        List<User> plainUsers2 = userMapper.selectList(new QueryWrapper<User>()
                .inSql("role_id", "select id from role where id = 2"));
        System.out.println("子查询"+plainUsers2);
        List<User> lambdaUsers2 = userMapper.selectList(new QueryWrapper<User>().lambda()
                .inSql(User::getRoleId, "select id from role where id = 2"));
        System.out.println("子查询"+lambdaUsers2);




        //带嵌套查询
        System.out.println("----- 带嵌套查询 ------");
        List<User> plainUsers3 = userMapper.selectList(new QueryWrapper<User>()
                .nested(i -> i.eq("role_id", 2L).or().eq("role_id", 3L))
                .and(i -> i.ge("age", 20)
                ));
        List<User> lambdaUsers3 = userMapper.selectList(new QueryWrapper<User>().lambda()
                .nested(i -> i.eq(User::getRoleId, 2L).or().eq(User::getRoleId, 3L))
                .and(i -> i.ge(User::getAge, 20)));
        System.out.println("带嵌套查询"+plainUsers3);
        System.out.println("带嵌套查询"+lambdaUsers3);

        //自定义(sql注入)
        System.out.println("----- 自定义(sql注入) ------");
        List<User> plainUsers4 = userMapper.selectList(new QueryWrapper<User>()
                .apply("role_id = 2"));
        System.out.println("带嵌套查询"+plainUsers4);



    }

  /**
   * @author xp
   * @description 插入
   * @date 2019/3/15 16:58
   */
    @RequestMapping("/insertAll")
    @ResponseBody
    public void insertAll() {
        /*--------------------------------------插入-----------------------------------------*/
        User user=new User();
        user.setName("小羊");
        user.setAge(3);
        user.setEmail("abc@mp.com");
        Integer count=userMapper.insert(user);
        System.out.println("插入成功:"+count+"条");
        // 成功直接拿会写的 ID
        System.err.println("\n插入成功 ID 为:" + user.getId());
    }

 

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值