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来进行判断极大的简化代码。。。。。。

  • 相关阅读:
    MiniUI 在线示例(gridview)
    数据库的事务处理和并发控制
    数据库大并发操作要考虑死锁和锁的性能问题
    c# 财务报表数字转大写的方法
    js 实现打印功能1
    js 实现打印功能
    《C++ Primer 4th》读书笔记 序
    谈谈Vim中实用又好记的一些命令
    《Unix网络编程》卷2 读书笔记 第3章- System V IPC
    《Unix网络编程》卷2 读书笔记 第2章- Posix IPC
  • 原文地址:https://www.cnblogs.com/zhukf/p/12145681.html
Copyright © 2011-2022 走看看