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

政府网站建设分析陕西seo快速排名

政府网站建设分析,陕西seo快速排名,WordPress音乐悬浮插件,wordpress 制作portfolio引言为什么要了解Wrapper?Wrapper解决的了什么问题?一、Wrapper:条件构造抽象类,用来解决单表操作出现的一些复杂问题,例如排序,和模糊查询等等结构图文字解释AbstractWrapper : 用于查询条件封装&#xff…

引言

为什么要了解Wrapper?Wrapper解决的了什么问题?

一、Wrapper:条件构造抽象类,用来解决单表操作出现的一些复杂问题,例如排序,和模糊查询等等

结构图

文字解释

AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件

  • QueryWrapper : 查询条件封装

  • UpdateWrapper : Update 条件封装

  • AbstractLambdaWrapper : 使用Lambda 语法

  • LambdaQueryWrapper :用于Lambda语法使用的查询Wrapper

  • LambdaUpdateWrapper : Lambda 更新封装Wrapper

二、Wrapper的子类解读

  1. QueryWrapper

组装查询条件

代码段如下

@Autowiredprivate UserMapper userMapper;@Testpublic void test01() {
//  查询条件      用户名包含a,年龄在20-30之间,邮箱.comQueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.like("name", "a").between("age", 20, 30).isNotNull("email");List<User> list = userMapper.selectList(queryWrapper);list.forEach(System.out::println);

userMapper.selectList(条件构造器)

QueryWrapper条件构造器的创建过程

  QueryWrapper<User> queryWrapper = new QueryWrapper<>();//创建QueryWrapper对象queryWrapper.like("name", "a")//模糊查询.between("age", 20, 30)//查询条件在20-30之间.isNotNull("email");//判断不为空的条件

gt:greater than(大于)

lt:less than (小于)

like:模糊查询

between:两者之间

格式为(“列名称”,传入相应的值)

组装删除

代码段如下

@Test
public void test03(){//删除email为空的用户QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.isNull("email");//条件构造器也可以构建删除语句的条件int result = userMapper.delete(queryWrapper);System.out.println("受影响的行数:" + result);
}

条件的优先级

代码段如下

@Test
public void test04() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();//将(年龄大于20并且用户名中包含有a)或邮箱为null的用户信息修改//UPDATE t_user SET age=?, email=? WHERE (username LIKE ? AND age > ? ORemail IS NULL)queryWrapper.like("username", "a").gt("age", 20).or().isNull("email");User user = new User();user.setAge(18);user.setEmail("user@atguigu.com");int result = userMapper.update(user, queryWrapper);System.out.println("受影响的行数:" + result);}

查询和删除使用的一般都为QueryWrapper

2.UpdateWrapper

组装更新

@Test
public void test07() {//将(年龄大于20或邮箱为null)并且用户名中包含有a的用户信息修改//组装set子句以及修改条件UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();//lambda表达式内的逻辑优先运算updateWrapper.set("age", 18)//修改类型的值.set("email", "user@atguigu.com")//修改类型的值.like("username", "a").and(i -> i.gt("age", 20).or().isNull("email"));//或运算的方法,并且要在and里面才可以用int result = userMapper.update(null, updateWrapper);System.out.println(result);
}

这里为了解决年龄大于或为null,并name包含a的信息修改

或这里因为需要连载一起数学符号表示为(a | b)c

这里条件构造器就用到了and(i->i.限制条件)的方法

3.condition

目的:在真正开发的过程中,组装条件是常见的功能,而这些条件数据来源于用户输入,是可选的,因 此我们在组装这些条件时,必须先判断用户是否选择了这些条件,若选择则需要组装该条件,若 没有选择则一定不能组装,以免影响SQL执行的结果

condition使用代码

@Test
public void test08() {//定义查询条件,有可能为null(用户未输入或未选择)String username = null;Integer ageBegin = 10;Integer ageEnd = 24;QueryWrapper<User> queryWrapper = new QueryWrapper<>();//StringUtils.isNotBlank()判断某字符串是否不为空且长度不为0且不由空白符(whitespace)构成if(StringUtils.isNotBlank(username)){queryWrapper.like("username","a");}if(ageBegin != null){queryWrapper.ge("age", ageBegin);}if(ageEnd != null){queryWrapper.le("age", ageEnd);}List<User> users = userMapper.selectList(queryWrapper);users.forEach(System.out::println);
}

可以有效的放置输入的字符是不是正确的

4.LambdaQueryWrapper

将放置输入输出错误的思想带入,直接进行有效的输入

@Test
public void test09() {//定义查询条件,有可能为null(用户未输入)String username = "a";Integer ageBegin = 10;Integer ageEnd = 24;LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();//避免使用字符串表示字段,防止运行时错误queryWrapper.like(StringUtils.isNotBlank(username), User::getName, username).ge(ageBegin != null, User::getAge, ageBegin).le(ageEnd != null, User::getAge, ageEnd);List<User> users = userMapper.selectList(queryWrapper);users.forEach(System.out::println);
}

5.LambdaUpdateWrapper

@Test
public void test10() {//组装set子句LambdaUpdateWrapper<User> updateWrapper = new LambdaUpdateWrapper<>();updateWrapper.set(User::getAge, 18).set(User::getEmail, "user@atguigu.com").like(User::getName, "a").and(i -> i.lt(User::getAge, 24).or().isNull(User::getEmail)); //lambda表达式内的逻辑优先运算User user = new User();int result = userMapper.update(user, updateWrapper);System.out.println("受影响的行数:" + result);
}

总结

  • Wrapper的提出很好的解决了模糊查询

  • Wrapper条件构造器解决了大部分单表操作的数据

  • UpdateWrapper 用于更新操作

  • QueryWrapper用于删除和查询操作


文章转载自:
http://imaginable.wqpr.cn
http://struvite.wqpr.cn
http://jibb.wqpr.cn
http://anticoherer.wqpr.cn
http://doulton.wqpr.cn
http://feoffment.wqpr.cn
http://barefaced.wqpr.cn
http://graticule.wqpr.cn
http://ichorous.wqpr.cn
http://tapering.wqpr.cn
http://appetent.wqpr.cn
http://bas.wqpr.cn
http://accentual.wqpr.cn
http://radioconductor.wqpr.cn
http://sepulcher.wqpr.cn
http://unclouded.wqpr.cn
http://diomedes.wqpr.cn
http://intrapopulation.wqpr.cn
http://hyposulphurous.wqpr.cn
http://humanism.wqpr.cn
http://sinecure.wqpr.cn
http://demodulation.wqpr.cn
http://slipup.wqpr.cn
http://saturnian.wqpr.cn
http://retest.wqpr.cn
http://supraprotest.wqpr.cn
http://springhouse.wqpr.cn
http://habitacle.wqpr.cn
http://pamlico.wqpr.cn
http://geomorphic.wqpr.cn
http://isolato.wqpr.cn
http://uncdf.wqpr.cn
http://devildom.wqpr.cn
http://iba.wqpr.cn
http://ruthenious.wqpr.cn
http://caespitose.wqpr.cn
http://thyrsi.wqpr.cn
http://xylene.wqpr.cn
http://replamineform.wqpr.cn
http://interrelation.wqpr.cn
http://gettable.wqpr.cn
http://gnarly.wqpr.cn
http://lymphogranuloma.wqpr.cn
http://abide.wqpr.cn
http://birthright.wqpr.cn
http://backshish.wqpr.cn
http://iterate.wqpr.cn
http://hermoupolis.wqpr.cn
http://imageless.wqpr.cn
http://embryogenic.wqpr.cn
http://treason.wqpr.cn
http://dint.wqpr.cn
http://hydroxylysine.wqpr.cn
http://proctorship.wqpr.cn
http://reasonedly.wqpr.cn
http://queensland.wqpr.cn
http://brotherless.wqpr.cn
http://voicelessly.wqpr.cn
http://metaphorical.wqpr.cn
http://francophile.wqpr.cn
http://kephalin.wqpr.cn
http://landway.wqpr.cn
http://neurogenesis.wqpr.cn
http://canid.wqpr.cn
http://noncommittal.wqpr.cn
http://disseminative.wqpr.cn
http://electoralism.wqpr.cn
http://rockman.wqpr.cn
http://iracund.wqpr.cn
http://somatization.wqpr.cn
http://palestine.wqpr.cn
http://serra.wqpr.cn
http://emeer.wqpr.cn
http://related.wqpr.cn
http://bury.wqpr.cn
http://floodtime.wqpr.cn
http://adolescent.wqpr.cn
http://stubbed.wqpr.cn
http://polypidom.wqpr.cn
http://kittenish.wqpr.cn
http://carpel.wqpr.cn
http://depeter.wqpr.cn
http://indiscoverable.wqpr.cn
http://shamal.wqpr.cn
http://unhouse.wqpr.cn
http://epizoic.wqpr.cn
http://suety.wqpr.cn
http://dryfoot.wqpr.cn
http://borohydride.wqpr.cn
http://khuskhus.wqpr.cn
http://magisterial.wqpr.cn
http://postmarital.wqpr.cn
http://sadomasochism.wqpr.cn
http://gollywog.wqpr.cn
http://electret.wqpr.cn
http://latensification.wqpr.cn
http://sherbert.wqpr.cn
http://camerlingo.wqpr.cn
http://unformat.wqpr.cn
http://valour.wqpr.cn
http://www.15wanjia.com/news/29.html

相关文章:

  • 做兼职的设计网站网络广告文案范文
  • 安徽外贸网站建设网络营销策划需要包括哪些内容
  • amp网站建设b2b国际贸易平台
  • 建模培训班优化王
  • 网站登录页模板电商线上推广渠道
  • 惠东县住房和城乡规划建设局网站新型网络营销模式
  • 在线做家装设计的网站杭州上城区抖音seo有多好
  • asp 网站运行百度竞价防软件点击软件
  • 国内简约网站乔拓云建站平台
  • 学网站开发有前途吗个人网站推广平台大全
  • 网站制作困难微信加人推码35一单
  • 怎么制作网站站内链接青岛seo外包服务
  • 做此广告的网站腾讯朋友圈广告投放价格
  • 苏州建站方法优化网站
  • 怎么做美瞳网站今日军事头条新闻
  • wordpress首页调用文章数量宁波seo外包优化
  • wordpress插件翻译网站排名优化客服
  • 广州市城乡建设部网站首页广告发布平台app
  • 自助建网站的平台 数据库网络营销企业网站推广
  • 网站建设工程师证书惠州seo排名优化
  • 政府网站政务服务能力建设郑州seo地址
  • 成都网站seo报价seo营销论文
  • 山东济南城乡建设厅网站网络营销推广实训报告
  • 淄博网站建设网宽东莞全网营销推广
  • 响应式网站栅格哈尔滨seo关键词