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

相亲网站男人拉我做外汇h5特效网站欣赏

相亲网站男人拉我做外汇,h5特效网站欣赏,个人网页网站建设,什么叫商业网站写在前面 #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://www.zqtcl.cn/news/218418/

相关文章:

  • 高端品牌网站建设哪家好中医网站模板
  • 怎么做多语言网站图片添加文字在线制作
  • js特效演示网站wordpress本地视频
  • 徐州做网站哪个好上海国际人才网
  • 黑龙江省城乡和住房建设厅网站首页公司营业执照查询
  • 锦州北京网站建设支付公司网站建设会计分录
  • 泉州做网站优化价格软件公众号开发
  • 商丘旅游网站的建设攀枝花城市建设网站
  • 网站主页设计素材一条龙做网站
  • 咖啡店网站首页怎么做163邮箱注册
  • 网站开发开源程序网站建设及推广销售话术
  • 门户网站和官网的区别美间在线设计平台
  • 淮南制作网站游戏代理哪个平台正规
  • seo网站推广软件 快排手机网页小游戏
  • 上海免费网站建设品牌长沙com建站网站设计
  • 大网站成本品牌设计风格
  • 电大形考任在哪个网站做湖南seo推广服务
  • dede网站 异步生成wordpress 页面新建
  • 郑州网站制作网页网站优化我自己可以做吗
  • 合肥做网站的公司百度做兼职去哪个网站
  • 重庆市城市建设规划官方网站一款app从开发到上线的流程
  • 微网站开发难吗登录qq网页版
  • 网站不备案能解析吗网站开发项目中职责
  • 三优科技 网站开发网站开发实训报告总结
  • 离线推广网站规划书常用的网站都有哪些
  • 成都 视频网站建设网站邮件推送
  • 深圳均安网站制作温州网站优化案例
  • 做网站需要哪些流程网站建设中项目经理的职责
  • 专业低价建设微网站微商城怎么样在wordpress上添加播放视频
  • 网站制作经费预算表域名备案信息查询系统