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

襄阳集团网站建设公司网站流程

襄阳集团网站建设,公司网站流程,东营市建设工程网官网,网络营销与推广书籍接着上一讲的Mp的分页功能 下面我们讲解条件查询功能和其他功能 解决一下日志输出和banner问题 每次卞就会输出这些日志 很不美观#xff0c;现在我们关闭一下 这样建个xml#xff0c;文件名为logback.xml 文件内容改成这样 配置了logback但是里面什么都没写就不会说有日…接着上一讲的Mp的分页功能 下面我们讲解条件查询功能和其他功能 解决一下日志输出和banner问题 每次卞就会输出这些日志 很不美观现在我们关闭一下 这样建个xml文件名为logback.xml 文件内容改成这样 配置了logback但是里面什么都没写就不会说有日志输出 然后运行的话可以发现日志没了 但是对应的banner还在就是这个spring和mp的表示啊 下面我们做的就是取消一下这个 更改一下spring配置文件即可 spring:datasource:druid:driver-class-name: com.mysql.cj.jdbc.Driver # mysql 驱动url: jdbc:mysql://localhost:3306/mybatis?characterEncodingutf8serverTimezoneUTC # 连接数据库username: root # 数据库账户password: 123456 # 数据库密码#关闭spring的bannermain:banner-mode: off#关闭Mp的banner mybatis-plus:global-config:banner: false现在就什么都没有了 条件查询 条件查询之前mybatis是写到一个对应mapper的xml里面 然后用各种标签做标注 而Mp中我们是用Wrapper这个参数封装查询条件 设置查询条件方式 方式1普通方式 Wrapper是个抽象类他也有许多实现类 这个QueryWarpper就是我们以用来封装条件查询的实现类 Testvoid testGetAll(){//创建QueryyWarpper查询对象QueryWrapperUser userQueryWrapper new QueryWrapper();//在里面增添条件lt代表小于gt代表大于userQueryWrapper.lt(age,22); // 再把我们的对象加入到我们的查询中即可完成条件查询ListUser users userDao.selectList(userQueryWrapper);for (User use:users) {System.out.println(use);}}可以看到查询到的结果是正确的 方式2 lambda方式 我们就封装条件写 qw.lt(“列名”值) 列名会很容易打错也不好发现 so出现了这种方式和方式1差不多 如图 现在属性名就不会写错了 方式3 LambdaQueryWarpper(!) 用方式2需要一直写lambda mp提供一个LambdaQueryWarpper的实现类 可以直接写Lambda Testvoid testGetAll(){//新的实现类LambdaQueryWrapperUser userLambdaQueryWrapper new LambdaQueryWrapper();//可以直接写lambda格式userLambdaQueryWrapper.lt(User::getAge,22);ListUser users userDao.selectList(userLambdaQueryWrapper);for (User use:users) {System.out.println(use);}}也可以成功运行 条件之间的多重组合 比如说and和or这种怎么表示呢 and好说 你可以再封装一次把另一个条件加入搭配Warpper对象中 比如这样就是年龄大于10小于22 userLambdaQueryWrapper.lt(User::getAge,22); userLambdaQueryWrapper.gt(User::getAge,10);也可以用支持的链式编程 是同样的效果 userLambdaQueryWrapper.lt(User::getAge,22).gt(User::getAge,10);那我们的or 也是用链式的 用到or()方法来代表 比如下面这行代码表示小于lt10岁或者大于gt30岁 userLambdaQueryWrapper.lt(User::getAge,10).or().gt(User::getAge,30);小结 null判定参数 像这种如果不设置会受到一些null 如何处理null就是我们需要研究的问题 我们先模拟一下前端传送的数据模型实际开发是用不到的 我们需要新定义一个查询条件类作为数据模型 因为age可能有上下限分析哪些属性可能有上下限这种 不能只用有一个age来表示 写一个查询条件类设一个age2代表上限 age代表下限 正常操作无null情况 小于30大于10 这个结果是正确的我就不展示了 如果没有传下限的情况 我们想的是介绍找30岁以下的 而运行的是age 在 null 和 30岁之间的 这样就会失败 应该是我们没有设置就是nul的情况对应的条件不应该往上连 怎么解决呢我这里不说if条件判断这个大家都应该会 还是我们的内置方法 重载方法条件方法一般有一个condition 如果是true的话就连接上如果是false就不进行条件连接 更改后的格式 这样就正确了 小结 查询投影/分组统计(查询字段控制含函数字段如count(*)) 查询投影就是控制我们查询行 我们要查询什么列 比如这个 就是我们只查询对应的id name和age 其他的都不查询这个是LambdaQueryWarpper的格式 如果是正常的QueryWarpper看图2 说一些不止是字段的 当我们想统计count(*)就是数据总数的时候 只能用QueryWarpper来做 这样直接运行肯定是不对的因为我们返回值是User的List集合 是没有count的对应字段所以没法封装 我们需要另一个方法 返回Map双列集合 user.Dao()selectMap(lqw); 会把我们对应的查询变为key查询到的值变为value显示 也可以进行一些分组统计 分组统计就是基于查询投影的和sql语句内核是一样的 各种查询条件对应方法 就这些老朋友 在Mp里面对于的函数 匹配 对应函数eq() 如图查询的是名字为Jerry且密码为jerry的用户 且这种只查询一个用户的可以用selectOne 不用selectList 范围查询 lt le gt ge between(列,下限,上限) 应该是和sql语句一样 左闭右闭[]查询age【10,30】的员工 模糊匹配 like 除了接收判断null参数的 还有likeRight和likeLeft是对应%的位置 比如你 lqw.likeRight(User::getName,“J”); 这个时候%就会加在右边匹配的是J%就是以J开头的名字 likeLeft同理 小结 可以在Mp官网上看对应方法 熟能生巧 映射匹配兼容性 就sql和我们的java实体类的映射问题 问题1数据库和实体类字段名不同 如果同名就自动映射 不同的话就要修改 不修改会按照实体类的属性名查询表中没有这个字段会报错的如图 一般都是实体类进行修改但是要一个一个修改是不方便的 解决方法 用Mp提供的注解 TableField(value“表中字段名”) 问题2实体类比数据库字段多 就是一些属性是不需要在数据库存储的 但是需要在外面的实体类定义 比如就在线这个属性online也是要查询的但是不会放到数据库里 但是我们查询的时候比如查询全表是java编程在做 语句就会是select id,…,online from 表 但表里没有这个字段这样就会报错 如图 解决办法 我们只需要TableFiled(existfalse)即可说明这个属性在表里不存在 问题3默认使用select方法会查询所有值 不安全比如查询到密码返回的json用户就能看到密码 除了手动去投影 还可以用注解来 TableField(selectfalse) 就是这个字段不参与查询 问题4表明和类名不同 因为什么呢 因为组成语句 select … from 类名小写 可以看出来对应关系 这个默认是类名小写类名表名不同就查询不到 可以写TableName(“表名”)在类上来解决
http://www.tj-hxxt.cn/news/139400.html

相关文章:

  • 青岛网站建设开发中国建设银行网站属于什么机构
  • 网站怎么弄缩略图上传中国无法访问wordpress
  • 河南如何建网站要什么条件百度公司总部在哪里
  • 建立网站步骤c++编程软件
  • 陕西省建设执业注册中心网站新浪云怎么做自己的网站
  • 怎样做网站让百度能找到做企业网站专用词
  • 网站建设法规黄页88网站推广方案
  • 怎么免费申请网站域名114推广平台
  • 投诉举报网站建设方案哪家网站设计公司好
  • 别人品牌的域名做网站吗制作类网站
  • 蓝色风格企业网站上海著名室内设计公司
  • 织梦网站首页自动更新天元建设集团有限公司刘士龙
  • 那个网址怎么找广州seo网站管理
  • 中文电子商务网站模板河南省中原建设有限公司网站
  • 广州白云区做网站沙洋县seo优化排名价格
  • 大理网站建设沛宣建设网站入不入无形资产
  • 宜昌做网站微信服务号功能开发
  • 怎么做盗号网站门户网站系统建设项目招标书
  • 网站建设西班牙语关于网站建设的合同范本正规
  • 2014网站设计风格2023今天的新闻联播
  • 华夏名网网站建设教程wordpress网站管理系统
  • 网站的查询功能是怎样做的wordpress连接mysql8
  • 四川省城镇建设二次供水网站南京尔顺科技发展有限公司表扬信息网络公司网站报价
  • 西安市专业网站建设咨询型网站
  • 餐饮网站系统栾城区住房建设局官方网站
  • 定期更新网站外国人做的学汉字网站
  • 厦门外贸网站下载建行手机银行官方正式版
  • 南京网站seo网站建设的内容管理
  • 农场游戏系统开发 网站建设推广公司网站怎样维护运营
  • 做网站哪个部分网站建设案例价位