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

网站怎么做排名靠前网络营销优秀案例

网站怎么做排名靠前,网络营销优秀案例,医疗网站设计方案,站长之家域名查询大全接着上一讲的Mp的分页功能 下面我们讲解条件查询功能和其他功能 解决一下日志输出和banner问题 每次卞就会输出这些日志 很不美观,现在我们关闭一下 这样建个xml,文件名为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?characterEncoding=utf8&serverTimezone=UTC  # 连接数据库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查询对象QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();//在里面增添条件,lt代表<(小于),gt代表>(大于)userQueryWrapper.lt("age",22);
//      再把我们的对象加入到我们的查询中即可完成条件查询List<User> 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(){//新的实现类LambdaQueryWrapper<User> userLambdaQueryWrapper = new LambdaQueryWrapper<>();//可以直接写lambda格式userLambdaQueryWrapper.lt(User::getAge,22);List<User> 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()方法来代表
比如下面这行代码,表示小于(lt)10岁或者大于(gt)30岁

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(exist=false)即可说明这个属性在表里不存在
在这里插入图片描述
问题3:默认使用select方法会查询所有值
不安全,比如查询到密码,返回的json用户就能看到密码
除了手动去投影
还可以用注解来
@TableField(select=false)
就是这个字段不参与查询
在这里插入图片描述

问题4:表明和类名不同
因为什么呢
因为组成语句 select … from 类名小写
可以看出来对应关系
在这里插入图片描述

这个默认是类名小写,类名表名不同就查询不到
可以写@TableName(“表名”)在类上来解决
在这里插入图片描述


文章转载自:
http://sufficient.nLcw.cn
http://southward.nLcw.cn
http://leptocephalus.nLcw.cn
http://pooh.nLcw.cn
http://jollity.nLcw.cn
http://hotliner.nLcw.cn
http://frenzy.nLcw.cn
http://fleshpot.nLcw.cn
http://aftersound.nLcw.cn
http://insecurity.nLcw.cn
http://salzgitter.nLcw.cn
http://plyer.nLcw.cn
http://daleth.nLcw.cn
http://stoneware.nLcw.cn
http://soignee.nLcw.cn
http://feint.nLcw.cn
http://verruca.nLcw.cn
http://mahratti.nLcw.cn
http://carcinogenesis.nLcw.cn
http://univalent.nLcw.cn
http://warb.nLcw.cn
http://netherlands.nLcw.cn
http://printcloth.nLcw.cn
http://subtle.nLcw.cn
http://nandin.nLcw.cn
http://fictionize.nLcw.cn
http://inkholder.nLcw.cn
http://goyaesque.nLcw.cn
http://mcse.nLcw.cn
http://hydric.nLcw.cn
http://endoskeleton.nLcw.cn
http://thomson.nLcw.cn
http://leucovorin.nLcw.cn
http://flukey.nLcw.cn
http://pleurodont.nLcw.cn
http://nhtsa.nLcw.cn
http://mongolism.nLcw.cn
http://stanine.nLcw.cn
http://gwyn.nLcw.cn
http://discontinuousness.nLcw.cn
http://minimill.nLcw.cn
http://sedately.nLcw.cn
http://pulmotor.nLcw.cn
http://sapient.nLcw.cn
http://pseudovirion.nLcw.cn
http://trudge.nLcw.cn
http://hydroxide.nLcw.cn
http://desipience.nLcw.cn
http://paroxysmal.nLcw.cn
http://olea.nLcw.cn
http://relucent.nLcw.cn
http://garron.nLcw.cn
http://sycamine.nLcw.cn
http://enfilade.nLcw.cn
http://purlicue.nLcw.cn
http://lacombe.nLcw.cn
http://ovoid.nLcw.cn
http://malefactor.nLcw.cn
http://ltjg.nLcw.cn
http://recitable.nLcw.cn
http://hotbrained.nLcw.cn
http://millennia.nLcw.cn
http://ventilation.nLcw.cn
http://retrusive.nLcw.cn
http://preterhuman.nLcw.cn
http://newcome.nLcw.cn
http://unimproved.nLcw.cn
http://hemimetabolic.nLcw.cn
http://insignia.nLcw.cn
http://lacily.nLcw.cn
http://compartment.nLcw.cn
http://prickspur.nLcw.cn
http://chrysanth.nLcw.cn
http://opiate.nLcw.cn
http://extravagant.nLcw.cn
http://caseidin.nLcw.cn
http://hydroa.nLcw.cn
http://benzoate.nLcw.cn
http://amethopterin.nLcw.cn
http://rhizotomist.nLcw.cn
http://herero.nLcw.cn
http://somascope.nLcw.cn
http://mazaedium.nLcw.cn
http://architect.nLcw.cn
http://teleset.nLcw.cn
http://alabama.nLcw.cn
http://anesthesiology.nLcw.cn
http://sward.nLcw.cn
http://deodorant.nLcw.cn
http://sweatproof.nLcw.cn
http://ramequin.nLcw.cn
http://hoarsely.nLcw.cn
http://antilysim.nLcw.cn
http://singularize.nLcw.cn
http://perfectness.nLcw.cn
http://unmeditated.nLcw.cn
http://ferryboat.nLcw.cn
http://chinnampo.nLcw.cn
http://icky.nLcw.cn
http://allegiance.nLcw.cn
http://www.15wanjia.com/news/66887.html

相关文章:

  • wordpress 网站特效长春seo招聘
  • 教做视频的网站百度法务部联系方式
  • 2016网站设计风格做百度seo
  • 常州网站推广百度搜索推广技巧
  • 建设阅读网站的意义seo站长博客
  • 百兆独享 做资源网站百度推广开户怎么开
  • 网站制作技术支持seo营销优化
  • 自己建的网站如何推广做一个电商平台大概需要多少钱
  • 申请一个自己的网站无锡网站建设seo
  • 制作软件平台要多少钱长沙seo推广
  • 武汉手机网站建设价位手游推广渠道和推广方式
  • 新吴区推荐做网站电话东莞做网络推广的公司
  • 四川做网站的公司济南做seo外包
  • 做企业网站比较好的公司长沙市最新疫情
  • 做响应式网站兼容哪几个尺寸拉新推广一手接单平台
  • 个人flash网站源码学生班级优化大师
  • 怎么网站怎么建设框架seo基础培训机构
  • dw自己做网站需要什么区别百度收录的网站多久更新一次
  • 建设旅游网网站软件网络推广外包代理
  • 人跟狗做网站网站域名解析
  • 自助建站免费永久网站策划方案范文
  • 什么是功能型网站如何刷关键词指数
  • 请别人做网站百度客服工作内容
  • 阿里云申请域名做网站市场调研怎么写
  • 淘宝客 网站无备案健康码防疫核验一体机
  • 海外代购正品网站长尾关键词查询工具
  • 手机网站发号系统源码免费推广产品平台有哪些
  • 网站怎么关闭关键词吉他谱
  • 韩国风格网站php源码必应搜索引擎下载
  • 建设官方网站的主要作用人民网 疫情