首页 > 其他分享 >MybatisPlus入门(五)MybatisPlus条件查询

MybatisPlus入门(五)MybatisPlus条件查询

时间:2024-11-24 14:23:40浏览次数:8  
标签:getAge MybatisPlus 入门 qw lqw 查询 userList userDao

一、MybatisPlus条件查询
MyBatisPlus将书写复杂的SQL查询条件进行了封装,使用编程的形式完成查询条件的组合

 

 

方式一:按条件查询

查询年龄小于18的用户,代码示例:

@SpringBootTest
class MybatisplusDqlApplicationTests {
 
    @Autowired
    private UserDao userDao;
 
    @Test
    void testGetAll() {
        //方式一:按条件查询
        QueryWrapper qw = new QueryWrapper();
        qw.lt("age",18);
        List<User> userList = userDao.selectList(qw);
        System.out.println(userList);
    }
}

 


方式二:lambda格式按条件查询

查询年龄小于10的用户,代码示例:

//方式二:lambda格式按条件查询
QueryWrapper<User> qw = new QueryWrapper<User>();
qw.lambda().lt(User::getAge, 10);
List<User> userList = userDao.selectList(qw);
System.out.println(userList);

 


方式三:lambda格式按条件查询(推荐)

查询年龄小于10的用户,代码示例:

 

//方式三:lambda格式按条件查询
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
lqw.lt(User::getAge, 10);
List<User> userList = userDao.selectList(lqw);
System.out.println(userList);

 


组合条件 并且关系(and)

查询10到30岁之间的用户,代码示例:

 

//并且关系
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
//并且关系:10到30岁之间
lqw.lt(User::getAge, 30).gt(User::getAge, 10);
List<User> userList = userDao.selectList(lqw);
System.out.println(userList);

 


组合条件 或者关系(or)

查询小于10岁或者大于30岁 的用户,代码示例:

 

//或者关系
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
//或者关系:小于10岁或者大于30岁
lqw.lt(User::getAge, 10).or().gt(User::getAge, 30);
List<User> userList = userDao.selectList(lqw);
System.out.println(userList);

 


格式一:常规格式

QueryWrapper<User> qw = new QueryWrapper<User>();
//查询年龄大于等于18岁,小于65岁的用户
qw.lt("age",65);
qw.ge("age",18);
List<User> userList = userDao.selectList(qw);
System.out.println(userList);

 


格式二:链式编程格式

 

QueryWrapper<User> qw = new QueryWrapper<User>();
//查询年龄大于等于18岁,小于65岁的用户
qw.lt("age",65).ge("age",18);
List<User> userList = userDao.selectList(qw);
System.out.println(userList);

 


格式三:lambda格式(推荐)

        QueryWrapper<User> qw = new QueryWrapper<User>();
        //查询年龄大于等于18岁,小于65岁的用户
        qw.lambda().lt(User::getAge, 65).ge(User::getAge, 18);
        List<User> userList = userDao.selectList(qw);
        System.out.println(userList);

 

 

格式四:lambda格式(推荐)

 

LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
//查询年龄大于等于18岁,小于65岁的用户
lqw.lt(User::getAge,65).ge(User::getAge,18);
List<User> userList = userDao.selectList(lqw);
System.out.println(userList);

 


二、使用MybatisPlus开发的一些配置
2.1取消初始化spring日志打印
步骤:在resources下新建一个logback.xml文件,名称固定,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 
</configuration>

 


2.2取消SpringBoot启动banner图标
在application.xml配置如下内容:

 

spring:
  main:
    banner-mode: off # 关闭SpringBoot启动图标(banner)
    

 



2.3 取消MybatisPlus启动banner图标

在application.xml配置如下内容:

    # mybatis-plus日志控制台输出
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    banner: off # 关闭mybatisplus启动图标

 

标签:getAge,MybatisPlus,入门,qw,lqw,查询,userList,userDao
From: https://www.cnblogs.com/kongsq/p/18565770

相关文章

  • MybatisPlus入门(六)MybatisPlus-空值处理
    一、MybatisPlus-空值处理1.1)问题引入:在查询中遇到如下情况,有部分筛选条件没有值,如商品价格有最大值和最小值,商品价格部分时候没有值。  1.2)解决办法:步骤一:新建查询实体类UserQuery继承自Userpackagecom.it.domain.query;importcom.it.domain.User;importlombok.Da......
  • MyBatis入门——基本的增删改查
    目录一、MyBatis简介二、搭建MyBatis(一)配置依赖(二)log4j日志功能(三)数据库配置文件——jdbc.properties(四)创建MyBatis的核心配置文件(五)使用MyBatisX插件三、项目其他配置搭建(一)创建数据库连接工具类(二)创建表(三)创建数据库的实体类(四)UserMapper接口......
  • WebSocket入门到精通,就差这一篇了
    目录一、概述二、对比Http(介绍特点)1.通信模式对比2.连接机制3.数据传输效率4.实时性5.使用场景三、websocket通信原理1、建立连接连接1.客户端发起HTTP请求2.服务器处理请求并响应3.升级到WebSocket协议4.双向通信2、通信内容(websocket帧)1.Heade......
  • RabbitMQ 入门(七)SpringAMQP五种消息类型(Direct Exchange)
    一、发布订阅-DirectExchange(路由模式)在Fanout模式中,一条消息,会被所有订阅的队列都消费。但是,在某些场景下,我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。DirectExchange会将接收到的消息根据规则路由到指定queue,因此称为路由模式(r......
  • RabbitMQ 入门(四)SpringAMQP五种消息类型(Basic Queue)
    一、SpringAMQP简介SpringAMQP是基于RabbitMQ封装的一套模板,并且还利用SpringBoot对其实现了自动装配,使用起来非常方便。SpringAmqp的官方地址:https://spring.io/projects/spring-amqpSpringAMQP提供了三个功能:-自动声明队列、交换机及其绑定关系-基于注解的......
  • RabbitMQ 入门(五)SpringAMQP五种消息类型(Work Queue)
    一、WorkQueue(工作消息队列)Workqueues,也被称为(Taskqueues),任务模型。简单来说就是让多个消费者绑定到一个队列,共同消费队列中的消息。当消息处理比较耗时的时候,可能生产消息的速度会远远大于消息的消费速度。长此以往,消息就会堆积越来越多,无法及时处理。此时就可以......
  • Ollydbg的入门使用
    修改完一个文件之后,点击保存到可执行文件就可以保存。 1.各窗口简单介绍B:即Breakpointswindow,断点窗口,用来管理和查看用户的断点。L:logwindow,日志窗口,用来显示程序的输入输出和一些断点之类的日志信息E:Executablemoduleswindow,也就是可执行模块窗口,列出当前进程......
  • jvm入门
    jvm入门一:jvm的介绍定义jvm的全称是Javavirtualmachine(java虚拟机)-java的运行环境(java二进制字节码的运行环境)作用:1:wirteonce,runanywhere。一次编译可以在任意平台运行2:自动内存管理:垃圾回收机制3:数组下标越界检查(对比c)4:多太jvm,jre,jdk的关系:jdk包......
  • 【数据库入门】关系型数据库入门及SQL语句的编写
    1.数据库的类型:数据库分为网状数据库,层次数据库,关系型数据库和非关系型数据库四种。目前市场上比较主流的是:关系型数据库和非关系型数据库。关系型数据库使用结构化查询语句(SQL)对关系型数据库进行操作。2.关系型数据库数据以二维表的形式进行存储,表和表之间可以建立关......
  • MySQL入门学习(五)
      在本篇文章中,我们会将MySQL剩余的基础知识讲解完毕,这也就是我们MySQL专栏里的收官之作辣~~~事务  在MySQL当中,什么叫做事务呢?一个事务其实就是一个完整的业务逻辑,可以举个生活中常见的例子:  假设A要向B转账1000元,那么我们需要在数据库中做以下几个步骤:①将A账户......