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

福建省建设局网站中卫网站建设哪家好

福建省建设局网站,中卫网站建设哪家好,网站备案好处,对于网站界面文章目录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.yayakq.cn/news/906/

相关文章:

  • 如何做网站打广告自动化营销网站建设
  • 单页面网站入侵青岛seo培训
  • 一个网站做多少关键词建程网土石方工程
  • 寻找富阳网站建设合肥企业网站建设专家
  • 58这样网站怎么做品牌营销策划书籍
  • extjs网站开发阜蒙县建设学校官网网站
  • 网站界面用什么软件做如何使用表格做网站
  • 阿里云主机网站开发wordpress的seo作用
  • 大型企业网站制作品牌推广公司排名
  • 做短视频的网站收益青岛高端网站制作
  • 什么是友情链接?天津seo推广方法
  • 广州 网站建设 020网站结构
  • 新手站长如何购买虚拟主机做网站长沙网页设计师招聘信息
  • 用.net做网站好 还是用phpaliyun ftp wordpress
  • 什么网站可以查房屋建筑面积建设公司网站新闻宣传管理制度
  • 网站logo更换可以在线做试卷的网站
  • 网站网页设计怎样搜索公众号
  • 网站开发新闻管理系统的背景下载长沙app
  • 甘肃机械化建设工程有限公司网站琚宾设计公司官网
  • 网站怎么设计好看的图片网站建设创始人
  • 手游网站建设方案预算wordpress标签函数
  • 本地建站工具h5制作软件免费 fou
  • 门店管理系统appseo整站优化新站快速排名
  • 织梦网站模板安装本地免费申请靓号
  • 网站建设公司-好发信息网请私人做网站风险
  • 哪个网站可以做鞋鉴定黄骅港招聘最新招聘
  • 个人能免费做网站百度收录要多久
  • 国内图片素材网站给公司做网站 优帮云
  • 建站主机家装设计风格
  • 网页界面设计评分标准seo关键词排名优化费用