zoukankan      html  css  js  c++  java
  • SpringBoot整合MybatisPlus之condition作用演示

    之前展示的方法,例如like,between,eq等,查看源码发现里面都是重载方法,第一个参数都为boolean类型的condition,默认为true,默认执行

    模拟背景:前端页面有个查询需要姓名和邮箱来作为查询条件,填入姓名邮箱后,后端需要进行判断后查询sql

    一:controller接收后判断处理(原来的写法)

    模拟用户查询代码:请求参数:name,email

    /**
     *模拟前台传入参数,name和email
     */
    @Test
        public void testCondition(){
            String name="王";
            String email="";
            condition(name,email);
        }
    
    private void condition(String name,String email){
            QueryWrapper<User> queryWrapper = new QueryWrapper<>();
            //对name进行非空判断
            if(StringUtils.isNotEmpty(name)){
                queryWrapper.like("name",name);
            }
            //对email进行非空判断
            if(StringUtils.isNotEmpty(email)){
                queryWrapper.like("email",email);
            }
            List<User> userList = userMapper.selectList(queryWrapper);
            userList.forEach(System.out::println);
    
        }

    结果:显而易见,name作为查询条件出现在了sql中,而email由于做了非空判断没有在sql中展示出来

    二.使用condition后的写法

     /**
      *模拟前端传入参数查询符合条件用户,查询参数:name,email
      */ 
     @Test
        public void testCondition(){
            String name="";
            String email="x";
            condition(name,email);
        }
    
    
        private void condition(String name,String email){
            QueryWrapper<User> queryWrapper = new QueryWrapper<>();
            //采用condition进行条件判断,条件为true,进行查询
            queryWrapper.like(StringUtils.isNotEmpty(name),"name",name)
                    .like(StringUtils.isNotEmpty(email),"email",email);
            List<User> userList = userMapper.selectList(queryWrapper);
            userList.forEach(System.out::println);
    
        }

    结果:

    通过condition来进行判断极大的简化代码。。。。。。

  • 相关阅读:
    双11享Go了吗?2017阿里双11在线峰会续写科技盛宴!
    python django 原生sql 获取数据
    python 操作mysql
    django post 请求传参
    Django post 报错
    django get请求传参
    windows8.1下装kali linux 2017.3双系统(最新版)
    Django 速成
    Galera将死——MySQL Group Replication正式发布
    Galera将死——MySQL Group Replication正式发布
  • 原文地址:https://www.cnblogs.com/zhukf/p/12145681.html
Copyright © 2011-2022 走看看