首页 > 编程语言 >Java中QueryWrapper的基本使用

Java中QueryWrapper的基本使用

时间:2022-09-25 00:45:05浏览次数:48  
标签:基本 QueryWrapper Java name qw age listAndClass student

一、Java中QueryWrapper的基本使用

 

1.单表查询

@GetMapping("/list")
public TableDataInfo list(Student student){
LambdaQueryWrapper<Student> lqw = new LambdaQueryWrapper<Student>();
lqw.eq(Student::getName, student.getName());
lqw.like(Student::getClass,student.getClass());
lqw.between("age",student.getAge1(),student.getAge2());
lqw.orderByAsc("age");
List<Student> list = studentService.list(lqw);
}

对应的sql语句为:

select * from student where name = '?' and class like '%?%' and age between '?' and '?' order by '?' asc

1.1、单表查询的基本用法

函数名说明例子
eq 等于 例:eq(“name”,“张子”) ===> name = ‘张子’
ne 不等于 例:ne(“name”,“张子”) ===> name <> ‘张子’
gt 大于 例:gt(“age”,“18”) ===> age>18
lt 小于 例:lt(“age”,“18”) ===> age<18
between 在值1到值2之间 例:between(“age”,18,30) ===> 18<age<30’
like 模糊查询 例:like(“name”,“张”) ===> name like ‘%张%’
isNull 字段为NULL 例:isNull(“name”) ===> name is null

 

2、多表查询

//Controller
@GetMapping("/listAndClass")
public TableDataInfo listAndClass(Student student)
{
   QueryWrapper<Student > qw = new QueryWrapper<Student >();
   if(StringUtils.isNotBlank(student.getName())){
       qw.eq("s.name",student.getName());
  }
   if(StringUtils.isNotBlank(student.getClassName())){
       qw.like("c.name",student.getClassName());
  }
   startPage();
   List<Student > list = studentService.listAndClass(qw);
   return getDataTable(list);
}

//Service
List<Student> listAndClass(QueryWrapper<Student> qw);

//Service impl
@Override
public List<Student> listAndClass(QueryWrapper<Student> qw) {
   return this.getBaseMapper().listAndClass(qw);
}

//Mapper
@Select("select s.*,c.name from student s left join class c on s.id = c.student_id "+
       "${ew.customSqlSegment}")
List<YwSpaqjgDj> listAndClass(@Param(Constants.WRAPPER) QueryWrapper<Student> qw);

 

 

标签:基本,QueryWrapper,Java,name,qw,age,listAndClass,student
From: https://www.cnblogs.com/gongss/p/16727090.html

相关文章

  • Java基本语法 变量定义和分类
    变量定义●变量的概念:➢内存中的一个存储区域➢该区域的数据可以在同一类型范围内不断变化➢变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值●变量......
  • Java8 提供的流式操作
    目录参考资料流式操作1.java.util.stream.Stream接口1.1Stream提供的方法2.Collection的流式操作参考资料https://docs.oracle.com/javase/8/docs/api/流式操作......
  • 正则表达式——Robyn编程学习(Java)
    正则表达式为什么我们要学习正则自然语言处理是计算机程序的重要组成部分,而正则表达式则是处理文本的利器,通过设置合适的正则表达式,可以快速处理文本,从而提高工作的效率......
  • 基于SSM的驾校预约系统的设计与实现Java驾校管理系统(源码调试+讲解+文档)
    ......
  • java五周目笔记
    数组—、数组的概述1.数组的理解:数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。2.数组相关的概念:......
  • Javaweb学习笔记第十一弹(内含Servlet相关知识呦!)
    Web核心静态资源:HTML,CSS,JavaScript,图片等,负责页面展现动态资源:Servlet,JSP等,负责逻辑处理数据库:负责存储数据HTTP协议:定义通信规则Web服务器:负责解析HTTP协议,解析请求......
  • javascrip 函数的运用
    //函数使用分为两步:声明函数调有函数//1.声明函数//function函数名(){//console.log('函数');//}function......
  • markdown基本语法学习与实践
    目录一级标题二级标题三级标题最小只有六级标题这是标题一级标题二级标题三级标题最小只有六级标题#一级标题##二级标题###三级标题####四级标题#####五级......
  • qt的基本使用04——添加资源
    添加资源选择项目,右击addnew......
  • Java流程控制03(顺序结构,选择结构)
    顺序结构:Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行顺序结构是最简单的算法结构语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若......