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

创意摄影网站韩国小清新网站模板

创意摄影网站,韩国小清新网站模板,做网站要先做商标吗,企业管理软件管理系统写在前面 #x1f6eb;更多知识总结见Mybatis-Plus专栏 #x1f695;内容总结自尚硅谷杨博超老师的视频 #x1f692;博主对于该知识尚在学习阶段 #x1f684;如果发现存在问题请毫不吝啬的指出 #x1f680;#x1f680;扎哇太枣糕的博客首页#x1f680;#x1f680… 写在前面 更多知识总结见Mybatis-Plus专栏 内容总结自尚硅谷杨博超老师的视频 博主对于该知识尚在学习阶段 如果发现存在问题请毫不吝啬的指出 扎哇太枣糕的博客首页 文章目录1 queryWrapper构造器1.1 组装删改查条件1.2 条件优先级1.3 实现子查询2 updateWrapper构造器2.1 升级修改方法(无需创建对象)2.2 实际开发时的应用3 lambdaXxxWrapper构造器3.1 lambdaQueryWrapper构造器3.2 lambdaUpdateWrapper构造器Wrapper条件构造器   条件构造器wrapper就是用来封装CRUD方法参数条件的一个接口其底层有很多的子类最主要的就是最下面的四个子类 queryWrapper可以用来删改查updateWrapper可以在修改操作时不必创建实体类对象的操作LambdaQueryWrapper和LambdaUpdateWrapper则是在字段参数的调用上进行了升级其他都一样 因为增删改查中的增加记录不需要条件即可完成所以增加方法无需条件构造器wrapper其他的删改查则是有这个条件构造器参数的 1 queryWrapper构造器 1.1 组装删改查条件 组装查询条件   查询条件为名字里包含a字母、年龄在20~30之间、email不为空的所有值且查询到的值按照年龄降序排序若年龄相同则按照id升序排序   查询返回name、age、email字段 Test public void selectListTest() {QueryWrapperUser queryWrapper new QueryWrapper();queryWrapper.select(name, age, email).like(name, a).between(age, 20, 30).isNotNull(email).orderByDesc(age).orderByAsc(id);// SELECT id,name,age,email,is_deleted FROM user WHERE is_deleted0 AND (name LIKE ? AND age BETWEEN ? AND ? AND email IS NOT NULL) ORDER BY age DESC,id ASCListMapString, Object maps mapper.selectMaps(queryWrapper);maps.forEach(System.out::println);System.out.println();ListUser users mapper.selectList(queryWrapper);users.forEach(System.out::println); }⚠  selectMaps和selectList的区别在于selectMaps会将查询到的结果封装在一个元素类型为map集合的list集合中集合中只有查询返回字段所对应的键值对而selectList的返回值也是一个list集合只不过元素类型为对应的泛型包含泛型所有的字段查询返回字段之外的值都为null组装删除条件   删除条件email不为空 Test public void deleteTest() {QueryWrapperUser queryWrapper new QueryWrapper();queryWrapper.isNull(email);// UPDATE user SET is_deleted1 WHERE is_deleted0 AND (email IS NULL)int result mapper.delete(queryWrapper);System.out.println(删除的行数为 result); }组装修改条件   修改条件(年龄大于20并且用户名中包含有a)或邮箱为null Test public void updateTest() {User user new User();user.setAge(20);user.setEmail(temporary.com);QueryWrapperUser queryWrapper new QueryWrapper();queryWrapper.gt(age, 20).like(name, a).or().isNull(email);// UPDATE user SET age?, email? WHERE is_deleted0 AND (age ? AND name LIKE ? OR email IS NULL)int result mapper.update(user, queryWrapper);System.out.println(修改的行数为 result); }1.2 条件优先级 使用queryWrapper组装复杂条件的时候存在一个且或条件的优先级问题也就是说在实现多条件拼接的时候且或条件该如何拼接到一起接下来就挑取两个例子来了解一下 // (年龄大于20并且用户名中包含有a) 或 邮箱为null // UPDATE user SET age?, email? WHERE is_deleted0 AND (age ? AND name LIKE ? OR email IS NULL) queryWrapper.gt(age, 20).like(name, a).or().isNull(email);// 用户名中包含有a 且 (年龄大于18或邮箱为null) // UPDATE user SET age?, email? WHERE is_deleted0 AND (name LIKE ? AND (age ? OR email IS NULL)) queryWrapper.like(name, a).and(i - i.gt(age, 18).or().isNull(email));总结一下Lambda表达式中的条件会被当做一个整体优先执行如果不括起来影响结果的话就需要使用Lambda表达式的写法具体的使用要根据业务SQL语句来定 1.3 实现子查询 Test public void sonSelectTest() {QueryWrapperUser queryWrapper new QueryWrapper();queryWrapper.inSql(id, select id from user where id 100);// SELECT id,name,age,email,is_deleted FROM user WHERE is_deleted0 AND (id IN (select id from user where id 100))ListUser users mapper.selectList(queryWrapper);users.forEach(System.out::println); }2 updateWrapper构造器 2.1 升级修改方法(无需创建对象) 组装修改条件   修改条件用户名中包含有a并且(年龄大于20或邮箱为null) Test public void updateWrapperTest() {UpdateWrapperUser updateWrapper new UpdateWrapper();updateWrapper.like(name, a).and(i - i.gt(age, 20).or().isNull(email));updateWrapper.set(name, 小黑).set(email, dhsjfghr);// UPDATE user SET name?,email? WHERE is_deleted0 AND (name LIKE ? AND (age ? OR email IS NULL))int result mapper.update(null, updateWrapper);System.out.println(修改的行数为 result); }由SQL可见使用updateWrapper和queryWrapper完成的修改功能一样且调用的方法也一样(mapper.update)二者的区别就是updateWrapper不用创建实体类对象直接使用set方法就可以设置修改的字段值 2.2 实际开发时的应用 在实际开发中不管是queryWrapper还是updateWrapper都应该在一定的判断下再去使用条件构造器拼接条件比如说请求传过来的值在不为空的情况下才去对这个字段进行条件设置比如下面的这段代码 Test public void ifTest() {String userName ;Integer ageBegin 20;Integer ageEnd 30;QueryWrapperUser queryWrapper new QueryWrapper();if (StringUtils.isNotBlank(userName)) {queryWrapper.like(name, userName);}if (ageBegin ! null) {queryWrapper.ge(age, ageBegin);}if (ageEnd ! null) {queryWrapper.le(age, ageEnd);}ListUser users mapper.selectList(queryWrapper); }然而上面的代码使用了很多的if判断显得过于冗余于是许多的方法都带有一个condition参数当这个参数为true的时候才会拼接查询条件下面的代码用来代替上面一堆的if判断 QueryWrapperUser queryWrapper new QueryWrapper(); queryWrapper.like(StringUtils.isNotBlank(userName), name, userName).ge(ageBegin ! null, age, ageBegin).le(ageEnd ! null, age, ageEnd);3 lambdaXxxWrapper构造器 lambdaXxxWrapper与xxxWrapper的区别就是他们可以使用Lambda的方式直接调用对象的getter方法来指定字段而不用对照数据库中的字段名这样就乐意避免参数对应不上数据库字段的问题。除了在调用字段时的写法不一样之外其他的写法上二者的方式都一样 3.1 lambdaQueryWrapper构造器 Test public void lambdaQueryWrapperTest() {String userName ;Integer ageBegin 20;Integer ageEnd 30;LambdaQueryWrapperUser lambdaQueryWrapper new LambdaQueryWrapper();lambdaQueryWrapper.like(StringUtils.isNotBlank(userName), User::getName, userName).ge(ageBegin ! null, User::getAge, ageBegin).le(ageEnd ! null, User::getAge, ageEnd);ListUser users mapper.selectList(lambdaQueryWrapper); }3.2 lambdaUpdateWrapper构造器 Test public void lambdaUpdateWrapperTest() {LambdaUpdateWrapperUser lambdaUpdateWrapper new LambdaUpdateWrapper();lambdaUpdateWrapper.like(User::getName, a).and(i - i.gt(User::getAge, 20).or().isNull(User::getEmail));lambdaUpdateWrapper.set(User::getName, 小黑).set(User::getEmail, dhsjfghr);// UPDATE user SET name?,email? WHERE is_deleted0 AND (name LIKE ? AND (age ? OR email IS NULL))int result mapper.update(null, lambdaUpdateWrapper);System.out.println(修改的行数为 result); }这篇博客参加了几何大佬的社区活动 还望大家多多支持几何大佬的社区   ⇩  ⇩  ⇩  ⇩  ⇩  ⇩ CSDN社区 《创作达人》活动只要参与其中并创作文章就有机会获得官方奖品精品日历、新程序员杂志快来参与吧链接直达 https://bbs.csdn.net/topics/605272551
http://wiki.neutronadmin.com/news/70721/

相关文章:

  • 自己搭建网站的步骤网站群内容管理系统
  • 网站后台验证码无法显示上海招聘网最新招聘
  • 网站建设需要多少钱费用中壹建设工程有限公司官方网站
  • 前程无忧做网站多少钱商城网站建设课设
  • 知名网站建设多少钱海门市住房和城乡建设局网站
  • 在什么网站可以接国外的模具做如何使用阿里云做网站
  • 大型网站开发语言网站建设分为哪三部分
  • 建设网站需要什么条件北京谁会做网站开发
  • 做网站有名的公司wordpress支付看文章
  • 衡阳网站建设qiandu1小红书推广计划
  • 360免费wifi苏州seo关键词排名
  • 海外网站测速怎么直接用代码做网站
  • 哈尔滨网站备案哪些网站可以免费推广
  • 进行网站推广有哪些常用方法wordpress引导页
  • 山东电力建设第三工程公司网站网站做的漂亮的企业
  • 高端网站建设公司有哪些项目微商目前十大火爆产品
  • 电商网站建设需求分析 实例题建筑网站翻译编辑
  • 外贸网站seo推广教程网站平台建设合同模板
  • 厦门市机场建设招投标网站2022年适合小学生的新闻
  • 为什么做网站必须用服务器wordpress万网
  • 做建筑材料哪个网站好一点海外广告公司
  • 北京网站开发人员seo查询爱站
  • 网站开发使用什么语言明月浩空WordPress
  • 企业网站asp什么是网站集约化建设
  • 制作 网站建设网站 关于竣工结算的期限
  • 检测站点是否使用wordpress简洁大气的网站
  • 响应式网站的意义可以做英文教师的网站
  • 如何制作自己的个人网站企业做网站的概要
  • 网站用户体验优化方案网站页面策划
  • 网站引流推广怎么做the field wordpress