首页 > 其他分享 >MybatisPlus中LamdaQueryWrapper 与 QueryWrapper的使用及区别

MybatisPlus中LamdaQueryWrapper 与 QueryWrapper的使用及区别

时间:2023-05-18 15:47:32浏览次数:47  
标签:QueryWrapper LambdaQueryWrapper MybatisPlus queryWrapper trolleyItmeMapper List 

一、QueryWrapper的使用;

比如有一张表trolley_itme,需要通过device_id查询出符合条件的所有数据(返回List集合);

1、QueryWrapper的最基础的使用方式是这样的:必须写清楚具体的字段名称(即有硬编码的嫌疑)

// 查询条件的构造器:

QueryWrapper<TrolleyItme> queryWrapper = new  QueryWrapper<>();

// deviceId是传进来的参数:

queryWrapper.eq("device_id",deviceId);

// 查询List

List<TrolleyItme>  trolleyItmes = trolleyItmeMapper.selectList(queryWrapper );

 

2、QueryWrapper中使用lambda,避免使用具体的字段名称,不用硬编码,写法更加灵活和优雅

QueryWrapper<TrolleyItme>  queryWrapper = new QueryWrapper<>();

queryWrapper.lambda().eq(TrolleyItme::getDeviceId,deviceId);

List<TrolleyItme>  trolleyItmes = trolleyItmeMapper.selectList(queryWrapper );

 

二、LambdaQueryWrapper的使用;

我们可以直接改成LambdaQueryWrapper构造器来查询:

LambdaQueryWrapper<TrolleyItme>  lambdaWrapper = new LambdaQueryWrapper<>();

lambdaWrapper.eq(TrolleyItme::getDeviceId,deviceId);

List<TrolleyItme>  trolleyItmes = trolleyItmeMapper.selectList(lambdaWrapper);

 

标签:QueryWrapper,LambdaQueryWrapper,MybatisPlus,queryWrapper,trolleyItmeMapper,List,
From: https://www.cnblogs.com/heyi-77/p/17412129.html

相关文章

  • 使用mybatisplus分页插件,设置了每页容量和页数但还是获取的全部数据(已解决)
    注意观察mybatisplus的查询语句,分页插件正确配置后,在查询时会使用limit限制查询的数量(如下图) 但是如果没配置好就是没有limit这个限制,只要加上配置文件或者确认自己的配置正确即可,配置参考如下博客springboot(二)整合mybatisplus+分页插件+代码生成springboot(二)整合mybat......
  • MyBatisPlus
    MyBatisPlus今日目标基于MyBatisPlus完成标准Dao的增删改查功能掌握MyBatisPlus中的分页及条件查询构建掌握主键ID的生成策略了解MyBatisPlus的代码生成器1,MyBatisPlus入门案例与简介这一节我们来学习下MyBatisPlus的入门案例与简介,这个和其他课程都不太一样,其他的课程都......
  • MybatisPlus高级特性之SimpleQuery工具类
    1、是很么?SimpleQuery可以对selectList查询后的结果使用Stream流进行操作,使其可以返回指定的结果,简洁了api的调用2、怎么玩?案例演示(1)list操作/***list(LambdaQueryWrapper<E>wrapper,SFunction<E,A>sFunction,Consumer<E>...peeks)*参数说明:*p......
  • MybatisPlus高级特性之ActiveRecord模式
    1、是什么?ActiveRecord是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表;而模型类的一个实例对应表中的一行记录。ActiveRecord一直广受解释型动态语言(PHP、Ruby等)的喜爱,通过围绕一个数据对象进行CRUD操作。而Java作为准静态(编译型)语言,对于ActiveRec......
  • MybatisPlus 模糊查询数组中的所有字符串
     List<IcvDevice>deviceList=icvDeviceMapper.selectList(Wrappers.<IcvDevice>query().or(qw->pidList.forEach(sbbh->qw.like("sbbh",sbbh))).eq("sssblx&q......
  • 15.mybatis-plus的QueryWrapper的查询、更新、删除的用法
    1.条件构造查询: 2.主装的查询语句:  3.主装排序的查询语句:   4.删除语句:  5.更新语句的应用:userMapper.update(A,B);QueryWrapperuserWrapper=newQueryWrapper <>();Useruser=newUser();应用:update(user,userWrapper)user:封装的是修改的内容;userWr......
  • PageHelper和MybatisPlus的分页插件冲突
    分页插件优先使用的PageHelper的拦截器,所以当两种分页插件同时使用时PageHelper没有影响,而MybatisPlus的分页失效。解决方法:1、只用MyBatis+PageHelper或只用MybatisPlus;2、同时使用的话MybatisPlus构造查询语句,然后分页的业务交给PageHelper。同时使用的话不能配置MybatisPlus......
  • MybatisPlus-in 超过1000问题
    ------工具类publicstatic<T>List<List<T>>groupingList(List<T>list,intpartSize){List<List<T>>groups=newArrayList();if(list!=null&&!list.isEmpty()){intdataCount=list.size();intgroupCount=......
  • QueryWrapper中or的使用
    queryWrapper.and(wrapper->{//拼接sqlwrapper.like("user_name",name).or().like("user_admin_name",name);});where(user_id='1'and(user_namelike'%111%'oruser_admin_namelike'%222%......
  • mybatisplus更新字段为null怎么处理?
    mybatisplus更新字段为null怎么处理?  /***主键*/@TableId(type=IdType.ASSIGN_ID)@ApiModelProperty(value="主键")privateStringid;/***企业号*/@ApiModelProperty(value="企业号")@TableFi......