mybatis plus查询方式

时间:2025-03-22 08:57:05

这两天学习了一下mybatis plus。简单总结了一下条件构造器使用的查询方式。
官网: MyBatis-Plus

 /**
     * @param isDel 是否删除
     */
    void userUpdate(int isDel) {
    //普通查询
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();//条件构造器
        ("isDel", 1); //方式1  直接当做条件
        (user -> { //方式2  通过判断后确定使用什么条件
            if (isDel != a()) {
                ("isDel", 1);
            } else {
                ("isDel", 0);
            }
        });
        (user -> { //方式3 直接当做条件
            ("isDel", 0);
        });

        if (isDel != a()) ("isDel", 1); //方式4 判断是否使用这个条件
        (isDel == a(), "isDel", 1); //方式4 简写
        ("isDel=" + "1"); // 方法5 直接拼接参数
        ("isDel={0}", 1); // 方法6 动态拼接防止sql注入
        ("isDel=" + "1"); // 方法7 无视优化规则直接拼接到 sql 的最后  只能调用一次,多次调用以最后一次为准 有sql注入的风险,请谨慎使用
        ().eq(User::getIsDel1, 1); // 方法8 获取 LambdaWrapper 使用Lambda方式
        List<User> userList = (queryWrapper);
----------------------------------------------------------------------------------------------------------
      //  Lambda 表达式方式
        User user = new User();
        user.setIsDel1("1");
        LambdaQueryWrapper<User> lambdaUpdateWrapper = new LambdaQueryWrapper<>();
        (User::getIsDel1, user.getIsDel1());//  Lambda 表达式方式
        (User::getIsDel1, 1);//  Lambda 表达式方式
        userList = (queryWrapper);
----------------------------------------------------------------------------------------------------------
        //查询
        ("id", "name", "sex");
        ("id", "name as name", "sex");
        (i ->
                ().equals("id")
                        || ().equals("name")
                        || ().equals("sex"));
 ----------------------------------------------------------------------------------------------------------
        //修改
        UpdateWrapper<User> userUpdateWrapper = new UpdateWrapper<>();//条件构造器
        ("id", "1");//条件
        ("isDel", "1");//修改1
        ("isDel=1");//修改2
        ().eq(User::getIsDel1, 1);//修改3
    }