MyBatis动态拼接SQL,MyBatisPlus条件构造器

目录

一MyBatis动态拼接SQL

1:if标签

2、where标签

3:foreach标签

二 MyBatisPlus条件构造器

2.1使用QueryWrapper进行各种条件构造

2.1.1案例一组装条件查询

2.1.2、例2:组装排序条件

2.1.3、例3:组装删除条件

2.1.4、例4:条件的优先级

2.1.5实现子查询

2.2常用的QueryWrapper查询语法总结


一MyBatis动态拼接SQL

1:if标签

2where标签

where标签的作用是可以自动处理掉第一个and

3:foreach标签

二 MyBatisPlus条件构造器

2.1使用QueryWrapper进行各种条件构造

2.1.1案例一组装条件查询

 @RequestMapping("/hello15")
    //查询用户名中包含a和余额在1000-9000之间的用户信息
    public List text15(){
        QueryWrapper queryWrapper = new QueryWrapper();
        queryWrapper.like("user_name","a");
        queryWrapper.between("money",1000,9000);
        queryWrapper.eq("password","111");
        List list = dao.selectList(queryWrapper);
        return list;

    }

2.1.2、例2:组装排序条件

 @RequestMapping("/hello16")
    public  List text16(){
        //根据用户余额降序排序,如果遇到相同余额的则按照id升序排序
        QueryWrapper queryWrapper = new QueryWrapper<>();
        queryWrapper
                .orderByDesc("money")
                .orderByAsc("id");
        List list = dao.selectList(queryWrapper);
        return list;
    }

2.1.3、例3:组装删除条件

 @RequestMapping("/hello17")
    public int text17(){
        //删除余额为空的用户信息
        QueryWrapper queryWrapper = new QueryWrapper();
        queryWrapper
                .isNull("money");
        int count = dao.delete(queryWrapper);
        return  count;
    }

2.1.4、例4:条件的优先级

  @RequestMapping("/hello18")
    public int text18(){
        //修改余额大于1000并且用户名等于admin或者余额为空的用户信息
        QueryWrapper queryWrapper = new QueryWrapper<>();
        queryWrapper
                .gt("money",1000)
                .eq("user_name","admin")
                .or().isNull("money");
        //通过对象set方法修改信息
        User user = new User();
        user.setUserName("大胖");
        user.setPassword("888");
        int count = dao.update(user, queryWrapper);
        return count;
    }

2.1.5实现子查询

@RequestMapping("/hello19")
    public List text19(){
        //查询余额大于3等于3000的用户信息
        QueryWrapper queryWrapper = new QueryWrapper<>();
        queryWrapper.inSql("id","select id from t_user where money>=3000");
        List list = dao.selectList(queryWrapper);
        return list;
    }

2.2常用的QueryWrapper查询语法总结

queryWrapper.lt() 小于
queryWrapper.le() 小于等于
queryWrapper.gt() 大于
queryWrapper.ge() 大于等于
queryWrapper.eq() 等于
queryWrapper.ne() 不等于
queryWrapper.like(“属性”,“值”) 模糊查询%值%
queryWrapper.notLike(“属性”,“值”) 模糊查询不包含%值%
queryWrapper.likeLeft(“属性”,“值”) 模糊查询%值 以什么结尾
queryWrapper.likeRight(“属性”,“值”) 模糊查询 值% 以什么开始
queryWrapper.isNull() 值为空或者为null
queryWrapper.isNotNull() 值不为空 或者为null
queryWrapper.in(“属性”,“条件”,“条件”) 符合多个条件的值
queryWrapper.notIn(“属性”,“条件”,“条件”) 不符合多个条件的值
queryWrapper.or() 或者
queryWrapper.and() 和
queryWrapper.sql(sql语句) 符合sql语句的值
queryWrapper.notSql(sql语句) 不符合SQL语句的值

你可能感兴趣的:(mybatis,sql,java)