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

彩妆做推广的网站北京百度科技有限公司电话

彩妆做推广的网站,北京百度科技有限公司电话,个人社团网站怎么做,关键词排名优化工具有用吗前言 在mybatis_plus的封装中的Wrapper<T>接口参数就是用于封装查询条件 在测试类中启动如上一个简单的查询&#xff0c;然后控制台运行会输出一大堆无关日志&#xff0c;这里先把这些日志关闭 去除无关日志文件 先新建一个XML配置文件 然后变成如下&#xff0c;这里…

前言

在mybatis_plus的封装中的Wrapper<T>接口参数就是用于封装查询条件 

 在测试类中启动如上一个简单的查询,然后控制台运行会输出一大堆无关日志,这里先把这些日志关闭

 去除无关日志文件

先新建一个XML配置文件 

 然后变成如下,这里configuration标签里面什么都没有配置就是取消所有日志文件了

然后再次启动就只剩下spring和mybatis的图标了

 

这两个图标也可以消去,在application.yml中关闭mybatis的banner的显示,选择false

 再设置spring的banner-mode为off就可以把spring的banner一起关掉了

 再次运行就可以看见一个没有多余日志输出的界面了

 按条件查询的三种方式

 要实现按条件查询,进入到selectlist的源码里面看见需要一个wrapper的对象,在wrapper源码中可以看见wrapper<T>是一个抽象类如下。

 在Wrapper这个抽象类下面还有一系列的实现类,这里要用到的是QueryWrapper这个实现类,专门用于做查询封装操作的,下面还有一些诸如updatewrapper用于更新操作的 

设置查询条件(and关系)

方式一

如下所示新建了一个QueryWrapper对象,然后设置了两个条件

	@Testvoid contextLoads() {//方式一:按条件查询QueryWrapper qw=new QueryWrapper();//age小于25qw.lt("age",25);//age大于17qw.gt("age",17);List<mpdb>  userlist=userDao.selectList(qw);System.out.println(userlist);}

 然后输出正常

 方式二

        //方式二:lambda格式按条件查询QueryWrapper<mpdb> qw=new QueryWrapper<mpdb>();qw.lambda().lt(mpdb::getAge,25);qw.lambda().gt(mpdb::getAge,17);List<mpdb>  userlist=userDao.selectList(qw);System.out.println(userlist);

同样正常输出 ,并且防止了因为字段名写错而找不到出错地方

 方式三

在方式二上简化了

       // 方式三:lambda格式按条件查询LambdaQueryWrapper<mpdb> lqw=new LambdaQueryWrapper<mpdb>();lqw.lt(mpdb::getAge,25);lqw.gt(mpdb::getAge,17);List<mpdb>  userlist=userDao.selectList(lqw);System.out.println(userlist);

输出结果依旧正确

三种方式大部分都推荐用第三种 ,第一种在特殊情况下才使用。

如果过条件过多可以采用这种链式编程的方式 

设置查询条件(or关系)

条件语句里面加上一个.or()

        lqw.lt(mpdb::getAge,25).or().gt(mpdb::getAge,17);

NULL值处理

应用场景如下,有空值到后台时要有对应的处理 

这里到先到pojo层或者说domain层下面新建一个实体类mpdbQuery用于封装条件查询的条件

,这里直接继承mpdb实体类即可

  然后要分析可能有哪些字段有范围,比如日期型有范围,数值型也有范围,在该表中只有age有限制,所以新建一个age2用于描述年龄的上限,收集来的age属性用于描述下限。

准备好后在测试类中如下

正常输出

 如果有一个为空的话会有如下,查询失败

 在lt方法还有第二种实现,传一个boolean类型 

 lt的代码变成如下,如果的判断不成立就不加入该条件。原本上面的都是无条件加入条件

        lqw.lt(null!=mq.getAge2(),mpdb::getAge,mq.getAge2());

 当然,也可以用if判断,但是每个都要加的话就太多了

查询投影

所谓查询投影就是设置查询出来的结果是什么样,达成只显示其中的某一些字段

使用如下的一个select方法,参数就是要投影的字段名

  LambdaQueryWrapper<mpdb> lqw=new LambdaQueryWrapper<mpdb>();lqw.select(mpdb::getId,mpdb::getName,mpdb::getAge);List<mpdb>  userlist=userDao.selectList(lqw);System.out.println(userlist);

输出如下,只有那三个字段

 上面这个是lambda格式专用。

如果是用第一种方法的话就要变成如下

        //非lambda格式的投影QueryWrapper<mpdb> lqw=new QueryWrapper<mpdb>();lqw.select("id","name","age","tel");List<mpdb>  userlist=userDao.selectList(lqw);System.out.println(userlist);

输出如下

 针对count(*)的查询投影

查询投影只能用这个方式来做,不能用lambda方式

如果要查询count(*)的话因为实体类没有对应的用于接收count(*)的字段,所以这里换一个方式接收,改成如下,String就是字段名,object就是值

这里as count的作用是起别名 

 输出如下

 分组查询

使用groupBy方法

 输出如下,每一组tel都有对应的数量

 小结

 如果有不支持的格式的话就要恢复最早写mybatis的格式来写这了,在DAO层中使用@Select注解的方式

http://www.hkea.cn/news/496949/

相关文章:

  • 饰品网站模板官网seo关键词排名系统
  • 文学网站做编辑百度笔记排名优化
  • 公司网站开发语言如何优化百度seo排名
  • 做网站较好的框架惠州百度推广排名
  • 网站建设和运营的课程推广软文发稿
  • 杭州企业网站建设方案ui培训
  • 个人站长做哪些网站好seo优化设计
  • 小白学做搭建网站软文街官方网站
  • 网站模板 可做采集站市场营销咨询
  • 家居网站建设素材天眼查询个人信息
  • 杭州专业网站排名优化交换链接的例子
  • 网站建设和数据容量整合seo的培训课程
  • 深圳 网站制作 哪家百度搜索排名优化哪家好
  • 网站运营者网址发稿平台
  • 内蒙古网站制作公司拼多多网店代运营要多少费用
  • 免费网站建设协议baike seotl
  • 做网站的好处和坏处怎么创建自己的网址
  • 兰州新区城乡建设局网站seo sem是什么职位
  • 衡水网站制作公司自媒体软文发布平台
  • 东莞圆心科技网站开发网页搜索
  • 日照网站建设价格百度推广怎么优化关键词的质量
  • 竭诚网络网站建设开发百度搜索竞价推广
  • 浙江住房和城乡建设厅报名网站下拉关键词排名
  • 银川哪里做网站百度网址名称是什么
  • 合肥公司网站建设价格低西安网络科技公司排名
  • 怎么样建设个人网站企业文化建设
  • 如何知道网站有没有备案成都seo公司
  • wordpress 艺术主题南京网络优化公司有哪些
  • 贵阳网站备案百度网站优化方案
  • 单位网站建设论文怎么做竞价托管