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

wordpress 置顶湖州网站优化

wordpress 置顶,湖州网站优化,建设网站用什么软件排版,设计好的集团网站建设多少钱文章目录1. 文章引言2. 代码演示3. 分析LambdaQueryWrapper3.1 引入LambdaQueryWrapper的原因3.2 LambdaQueryWrapper和QueryWapper的区别4. 重要总结1. 文章引言 今天在公司写代码时#xff0c;发现同事使用LambdaQueryWrapper来查询数据#xff0c;而我一直习惯使用QueryW… 文章目录1. 文章引言2. 代码演示3. 分析LambdaQueryWrapper3.1 引入LambdaQueryWrapper的原因3.2 LambdaQueryWrapper和QueryWapper的区别4. 重要总结1. 文章引言 今天在公司写代码时发现同事使用LambdaQueryWrapper来查询数据而我一直习惯使用QueryWrapper。 我对此便来了兴趣决定尝试了解LambdaQueryWrapper。 2. 代码演示 为了分析LambdaQueryWrapper给出如下两段代码 通过LambdaQueryWrapper查询 Test public void testLambdaQueryWrapper(){//初始化变量Long applicationId 62L;String type pageFrameApp;// LambdaQueryWrapper查询LambdaQueryWrapperAppConfig lambdaQueryWrapper new LambdaQueryWrapper();lambdaQueryWrapper.eq(AppConfig::getAppId, applicationId);if (isNotNull(type)) {lambdaQueryWrapper.eq(AppConfig::getConfigType, type);}long count appConfigService.count(lambdaQueryWrapper);//输出统计数量System.out.println(输出统计结果count); }输出统计结果如下图 输出mybatis-plus打印的SQL语句如下所示 JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl62c02089] will not be managed by SpringPreparing: SELECT COUNT( * ) FROM app_config WHERE (app_id ? AND type ?)Parameters: 62(Long), pageFrameApp(String)Columns: COUNT( * )Row: 1Total: 1通过QueryWrapper查询 Test public void testQueryWrapper(){//初始化变量Long applicationId 62L;String type pageFrameApp;// LambdaQueryWrapper查询QueryWrapperAppConfig queryWrapper new QueryWrapper();queryWrapper.eq(app_id, applicationId);if (isNotNull(type)) {queryWrapper.eq(type, type);}long count appConfigService.count(queryWrapper);//输出统计数量System.out.println(输出统计结果count); }输出结果如下图所示 输出mybatis-plus打印的SQL语句如下所示 JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl31d09031] will not be managed by SpringPreparing: SELECT COUNT( * ) FROM app_config WHERE (app_id ? AND type ?)Parameters: 62(Long), pageFrameApp(String)Columns: COUNT( * )Row: 1Total: 1 3. 分析LambdaQueryWrapper 由上面两段代码的演示来看你会神奇地发现 输出结果是相同的 mybatis-plus打印的SQL语句也是相同 为什么会相同呢我们不妨去看看它们的源码。 QueryWrapper继承AbstractWrapper这个类如下图所示 LambdaQueryWrapper继承AbstractLambdaWrapper而AbstractLambdaWrapper继承是AbstractWrapper如下图所示。 你会发现不论是LambdaQueryWrapper还是QueryWrapper本质上继承的都是AbstractWrapper这个抽象类。 因而它们的执行结果相同只是查询方式不同而已。 3.1 引入LambdaQueryWrapper的原因 但是既然有了QueryWrapper为什么还要有LambdaQueryWrapper我认为有以下两点 适配jdk1.8 我们都知道现在主流jdk的版本是jdk1.8而jdk1.8引入了Lambda表达式。 MyBatis-Plus为了适配jdk1.8让路走得更宽才引入了LambdaQueryWrapper。 让代码变的更简单 我们再次去看上述QueryWrapper的代码eq方法要手动写如数据表的字段我们偶尔会写错。 同时去看上述LambdaQueryWrapper的代码eq方法是通过对象属性去映射数据表的字段。 基于以上两点我认为有必要引入LambdaQueryWrapper类。 3.2 LambdaQueryWrapper和QueryWapper的区别 QueryWrapper要手动写入数据表的字段千万不要写错数据表的字段比如上述代码中的eq方法。 LambdaQueryWrapper虽然不用引入数据表的字段而是通过对象的属性去映射但这容易出错。 【注意】这里对象的属性是驼峰格式的不然会报出unknown column xxx in where clause 比如数据表的字段是app_id而对象的属性是appid而我们又没有加上TableField(app_id)注解 (注解的value值是数据表的字段)如下代码所示 /** 应用id */ private Long appid;此时启动测试类便报出Unknown column appid in where clause问题如下图所示 若我们加上TableField(app_id)注解如下代码所示 /** 应用id */ TableField(app_id) private Long appid;此时启动测试类便不会报错如下图所示 当然我们把appid修改为appId即便不添加TableField(app_id)注解通过LambdaQueryWrapper查询也不会出错。 4. 重要总结 我们在使用QueryWrapper时要手动写入数据表的字段注意字段不要写错不然也会报出unknown column xxx in where clause这个错误 此外我们在使用LambdaQueryWrapper时要注意对象的属性和数据表字段的映射不然极容易报出unknown column xxx in where clause这个错误。
http://www.w-s-a.com/news/725776/

相关文章:

  • 如何创建一个网站卖东西郑州 网站建设公司
  • 石景山郑州阳网站建设南京网站搜索引擎优化
  • 一个网站需要哪些备案书店网站建设策划书总结
  • 网站建设的重点是什么注册网站空间
  • 网站公司企业宗旨我的网站 dedecms
  • 沧州网站优化做详情图的网站
  • 中国建设银行公积金网站wordpress表单 post
  • 找权重高的网站方法wordpress视频网站上传视频
  • 营销型网站架构师迁移wordpress500错误
  • 做网站还是博客由()承担
  • wordpress 导购站模板中国最新军事新闻直播83军
  • 公众号h5网站开发wordpress文章主图
  • ps怎么艺术字字体设计网站我想自己做网站
  • 北京做机柜空调的网站模板网站和插件
  • 手机购物网站模板wordpress添加分类文档
  • 网站开发知识网上怎么申请个人营业执照
  • 音乐网站建设费用营销策略都有哪些4p
  • 深圳制作网站怎么样wordpress 学习视频
  • 新公司注册网站传奇手游大型网站
  • 无极网站网站涉案多少人被抓网站的按钮怎么做
  • ds216j做网站做购物网站那个好
  • 做淘宝门头的网站阿里巴巴官网app
  • 安踏网站建设策划方案如何通过域名访问网站
  • 建设网站破解版seo查询 站长之家
  • 太原模板建站平台旅游企业网站建设工作的通知
  • 网站国外建设超级简历模板官网
  • 上海网站建设市场医药网站怎么做
  • 宁夏成城建设集团网站网店美工课本
  • 哪些网站的简历做的比较好政务服务 网站 建设方案
  • 如何建设个人网站凡科怎么样vps安装wordpress后怎样登录