当前位置: 首页 > news >正文

杭州海淀区网站建设山东今日热搜

杭州海淀区网站建设,山东今日热搜,电子商务战略选择 网站建设建议,酒水食品做的好网站MybatisPlus------条件构造器Wapper(七) Wrapper:条件构造器抽象类,最顶端父类 AbstarctWrapper:用于查询条件封装,生成sql的where条件。 QueryWrapper:查询条件封装(可以用于查询、删除&#x…

MybatisPlus------条件构造器Wapper(七)

在这里插入图片描述
Wrapper:条件构造器抽象类,最顶端父类
AbstarctWrapper:用于查询条件封装,生成sql的where条件。
QueryWrapper:查询条件封装(可以用于查询、删除,更新)
UpdateWrapper:Update条件封装
AbstractLambdaWrapper:使用Lambda语法
LambdaUpdateWrapper:用于Lambda语法使用的查询Wrapper
LambdaQueryWrapper:用于Lambda语法使用的更新Wrapper

使用QueryWrapper进行更新

        @Testpublic void testUpdate(){// 将(年龄大于20,并且用户名中包含有a)或邮箱为null的信息修改//where条件QueryWrapper<BaseProcedure> baseProcedureQueryWrapper = new QueryWrapper<>();baseProcedureQueryWrapper.gt("age",20).like("procedure_name","a").or().isNull("eamil");//更新值BaseProcedure baseProcedure = new BaseProcedure();baseProcedure.setProcedureName("asdasd");int update = baseProcedureMapper.update(baseProcedure, baseProcedureQueryWrapper);System.out.println("update"+update);}

涉及到条件优先级怎么处理?

涉及到where子句后判断的优先级时(lambda中的条件优先执行),
例如:
将用户名中包含有a并且(年龄大于20或邮箱为null)的信息修改

@Testpublic void testUpdate2(){// 将用户名中包含有a并且(年龄大于20或邮箱为null)的信息修改//where条件//涉及到lambda表达式,lambda中的条件优先执行QueryWrapper<BaseProcedure> baseProcedureQueryWrapper = new QueryWrapper<>();baseProcedureQueryWrapper.like("procedure_name","a").and(i ->{i.gt("age",20).or().isNull("eamil");});//更新值BaseProcedure baseProcedure = new BaseProcedure();baseProcedure.setProcedureName("asdasd");int update = baseProcedureMapper.update(baseProcedure, baseProcedureQueryWrapper);System.out.println("update"+update);}

and()和or()中的Consumer怎么理解?

and()方法源码:

/*** 查询条件封装* <p>嵌套</p>* <li>泛型 Param 是具体需要运行函数的类(也是 wrapper 的子类)</li>** @author hubin miemie HCL* @since 2017-05-26*/
public interface Nested<Param, Children> extends Serializable {/*** ignore*/default Children and(Consumer<Param> consumer) {return and(true, consumer);}

Param是泛型,是具体需要运行函数的类,也就是 wrapper 的子类,就是条件构造器,因此可以将条件构造器写入and方法中。
而Consumer,是Lambda表达式中的消费者接口,消费者接口中一定是由参数的,方法中的内容就是我们对参数的操作方式,

仅需要查询部分字段如何写?

通过调用QueryWrapper的select()方法,在该方法里传入需要查询的字段即可。

    @Testpublic void testSelect(){//查询用户用户名,和用户编码QueryWrapper<BaseProcedure> baseProcedureQueryWrapper = new QueryWrapper<>();baseProcedureQueryWrapper.select("procedure_code","procedure_name");List<Map<String, Object>> maps = baseProcedureMapper.selectMaps(baseProcedureQueryWrapper);maps.forEach(System.out::println);}

子查询如何操作

通过inSql方法,传入字段,以及子查询sql即可。
案例比较简单,仅仅用来测试,无实际意义

    @Testpublic void testSelect02(){//子查询//SELECT * from base_procedure//WHERE id = (SELECT  id from base_procedure WHERE id = 'ef5397a26b7a469c6fe1de0e')QueryWrapper<BaseProcedure> baseProcedureQueryWrapper = new QueryWrapper<>();baseProcedureQueryWrapper.inSql("id","SELECT  id from base_procedure WHERE id = 'ef5397a26b7a469c6fe1de0e'");List<Map<String, Object>> maps = baseProcedureMapper.selectMaps(baseProcedureQueryWrapper);maps.forEach(System.out::println);}
http://www.qdjiajiao.com/news/12302.html

相关文章:

  • 宁晋seo网站优化排名成功营销十大经典案例
  • 宜春网站建设公司哪家好app推广软件
  • 做公众号编辑用什么网站seo网络推广培训班
  • 网站开发阶段网站运营师
  • 韩国食品网站设计欣赏网络营销的四大要素
  • 织梦网站图标路径自媒体135网站免费下载安装
  • 京网站建设公司免费的网站域名查询app
  • 东莞如何建设网站制作平台今日重大新闻
  • 化工企业网站jsp可以免费发布广告的平台有哪些
  • 做网站备案需要什么特殊材料网络链接推广
  • 做电商网站需要注册什么公司名称代写文案的软件
  • 制作收款网站网站seo课程
  • 做公众号的必备参考网站重庆seo海洋qq
  • 网站建设自己在家接单怎么用模板做网站
  • 商贸公司寮步网站建设今日热点新闻事件摘抄2022
  • 网站管理怎么做第一推广网
  • 黑马网站建设营销策略的概念
  • 怎么建立网站的流程市场调研报告800字
  • 网站联动是什么意思沈阳网站制作推广
  • 政府网站报价什么是网络软文营销
  • 无锡阿里巴巴做网站百度一下的网址
  • 网站按天扣费优化推广近一周的新闻大事热点
  • 在别的公司做的网站可以转走吗百度热线电话
  • 互动案例的网站百度网站站长工具
  • 怎样买网站建设网络平台营销
  • 莱芜网站优化是什么seo权重优化
  • 佛山搭建建网站哪家好swot分析
  • 网站重新设计需要多久新手小白怎么做跨境电商
  • 一元云淘网站开发教程推广优化网站排名
  • 17网一起做网店网站公司网页设计