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

网站后台登陆不了营销的方法和技巧

网站后台登陆不了,营销的方法和技巧,wordpress自定义发文章界面,找别人做网站要注意什么软件目录 前言1. 探讨2. 基本知识3. 总结 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 基本的Java知识推荐阅读: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全&#x…

目录

  • 前言
  • 1. 探讨
  • 2. 基本知识
  • 3. 总结

前言

🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF

基本的Java知识推荐阅读:

  1. java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)
  2. 【Java项目】实战CRUD的功能整理(持续更新)

使用MyBatis-Plus或直接操作SQL时,处理空值(NULL)和空字符串(“”)经常引发混淆和问题

通过实战的踩坑方式,将详细分析为何 yard_location IS NULL 和 yard_location = NULL 会返回不同结果,以及在 MyBatis-Plus 中如何正确使用 isNull 方法来查询空值

1. 探讨

什么是 NULL?

NULL 表示数据库中没有值,是一种特殊的标记。它与空字符串(“”)或数字 0 是不同的

如何查询 NULL?

查询字段是否为 NULL 应使用 IS NULL 或 IS NOT NULL
yard_location = NULL 是无效的,任何值与 NULL 比较(如 =、!=)都返回 UNKNOWN,即不匹配任何结果

那么结合Sql代码以及Mybatisplus中的语句进行探讨

SQL 查询:为何结果不同?

正确查询方式,返回 yard_location 为 NULL 的记录:SELECT * FROM dangerous_goods_log WHERE yard_location IS NULL;

错误查询方式,永远返回空结果,因为 = NULL 是不合法的比较:SELECT * FROM dangerous_goods_log WHERE yard_location = NULL;

接下来就是代码的重点了:

MyBatis-Plus 查询:为何 .eq(“yard_location”, “”) 返回空数据?

MyBatis-Plus 中,eq(“yard_location”, “”) 生成的 SQL 类似于:

SELECT * FROM `dangerous_goods_log` WHERE yard_location = '';

这会查询 yard_location 为 空字符串 的记录,而不是 NULL
如果数据库中 yard_location 为 NULL 而非 “”,此查询将不匹配任何结果

如果使用 .isNull("yard_location"),则生成的 SQL 为:

SELECT * FROM `dangerous_goods_log` WHERE yard_location IS NULL;

这是正确查询 NULL 的方式,因此返回正确结果

2. 基本知识

MyBatis-Plus 提供了 isNull 和 isNotNull 方法,用于处理 NULL 值的查询条件

isNull:用于查询字段值为 NULL 的数据

.isNull("字段名")

isNotNull:用于查询字段值非 NULL 的数据

.isNotNull("字段名")

基本的查询示例如下:

  1. 查询字段值为 NULL 的记录
List<GoodsLogDO> goodsLogs = goodsLogMapper.selectList(new QueryWrapper<GoodsLogDO>().isNull("yard_location") // 查询 yard_location 为 NULL 的记录.in("dangerous_goods_status", 0L, 1L) // 状态为 0 或 1
);

生成的 SQL:

SELECT * FROM `dangerous_goods_log` 
WHERE yard_location IS NULL AND dangerous_goods_status IN (0, 1);
  1. 查询字段值非 NULL 的记录
List<GoodsLogDO> goodsLogs = goodsLogMapper.selectList(new QueryWrapper<GoodsLogDO>().isNotNull("yard_location") // 查询 yard_location 非 NULL 的记录.eq("dangerous_goods_status", 0L) // 状态为 0
);

生成的 SQL:

SELECT * FROM `dangerous_goods_log` 
WHERE yard_location IS NOT NULL AND dangerous_goods_status = 0;

实战中的处理方式如下:

在这里插入图片描述

  1. 查询字段为空字符串或 NULL 的记录
List<GoodsLogDO> goodsLogs = goodsLogMapper.selectList(new QueryWrapper<GoodsLogDO>().and(wrapper -> wrapper.isNull("yard_location") // yard_location 为 NULL.or().eq("yard_location", "") // 或为空字符串).eq("dangerous_goods_status", 1L); // 状态为 1
);

生成的 SQL:

SELECT * FROM `dangerous_goods_log` 
WHERE (yard_location IS NULL OR yard_location = '') AND dangerous_goods_status = 1;

3. 总结

上述知识点,主要是明白一个知识点

  • 区分 NULL 和空字符串
    在数据库中,NULL 和 “” 是不同的。如果需要同时查询两种情况,必须显式使用 IS NULL 和 = 条件

  • MyBatis-Plus 默认行为
    MyBatis-Plus 不会自动将空字符串(“”)视为 NULL

  • SQL 默认比较规则
    避免使用 = NULL 或 != NULL,改用 IS NULL 或 IS NOT NULL

  • 空值赋值处理
    插入数据时,如果字段需要为空,应显式插入 NULL 而非 “”,以确保查询逻辑一致


文章转载自:
http://spadicose.jqLx.cn
http://vicissitudinous.jqLx.cn
http://springiness.jqLx.cn
http://carnalize.jqLx.cn
http://furriery.jqLx.cn
http://federally.jqLx.cn
http://sunk.jqLx.cn
http://microdontia.jqLx.cn
http://dressily.jqLx.cn
http://maleficence.jqLx.cn
http://espial.jqLx.cn
http://semisupernatural.jqLx.cn
http://mutinous.jqLx.cn
http://abattis.jqLx.cn
http://saboteur.jqLx.cn
http://preconception.jqLx.cn
http://tenuity.jqLx.cn
http://arhythmic.jqLx.cn
http://unhasp.jqLx.cn
http://endnotes.jqLx.cn
http://catnapper.jqLx.cn
http://persecution.jqLx.cn
http://hyman.jqLx.cn
http://panier.jqLx.cn
http://hyperhepatia.jqLx.cn
http://crusado.jqLx.cn
http://exercitorial.jqLx.cn
http://atrocious.jqLx.cn
http://flinch.jqLx.cn
http://hematoma.jqLx.cn
http://mycotoxin.jqLx.cn
http://rulership.jqLx.cn
http://dav.jqLx.cn
http://circlet.jqLx.cn
http://archaeology.jqLx.cn
http://chastisable.jqLx.cn
http://thrustor.jqLx.cn
http://fick.jqLx.cn
http://dankly.jqLx.cn
http://acquirability.jqLx.cn
http://oxalacetic.jqLx.cn
http://civies.jqLx.cn
http://wherethrough.jqLx.cn
http://neocolonialist.jqLx.cn
http://unwrung.jqLx.cn
http://mpl.jqLx.cn
http://unifilar.jqLx.cn
http://perilymph.jqLx.cn
http://secretiveness.jqLx.cn
http://thurifer.jqLx.cn
http://deflower.jqLx.cn
http://practicoinert.jqLx.cn
http://chengteh.jqLx.cn
http://blabber.jqLx.cn
http://antimonarchic.jqLx.cn
http://reformer.jqLx.cn
http://longboat.jqLx.cn
http://undesirous.jqLx.cn
http://gussy.jqLx.cn
http://contemporaneity.jqLx.cn
http://spermatogenous.jqLx.cn
http://tolerably.jqLx.cn
http://available.jqLx.cn
http://xenogenetic.jqLx.cn
http://parasang.jqLx.cn
http://venous.jqLx.cn
http://sculpt.jqLx.cn
http://volumen.jqLx.cn
http://monophthongize.jqLx.cn
http://falsework.jqLx.cn
http://nonevent.jqLx.cn
http://jactation.jqLx.cn
http://geopolitics.jqLx.cn
http://tgv.jqLx.cn
http://seawards.jqLx.cn
http://cucaracha.jqLx.cn
http://eurydice.jqLx.cn
http://coax.jqLx.cn
http://thrustful.jqLx.cn
http://purificatory.jqLx.cn
http://entophyte.jqLx.cn
http://gloom.jqLx.cn
http://gelatinous.jqLx.cn
http://synoptist.jqLx.cn
http://develope.jqLx.cn
http://rheumy.jqLx.cn
http://willfully.jqLx.cn
http://tuner.jqLx.cn
http://communication.jqLx.cn
http://nebuly.jqLx.cn
http://succinate.jqLx.cn
http://habsburg.jqLx.cn
http://lubrication.jqLx.cn
http://hyperacidity.jqLx.cn
http://spurn.jqLx.cn
http://unwisdom.jqLx.cn
http://pitiable.jqLx.cn
http://hili.jqLx.cn
http://cumbrian.jqLx.cn
http://dustband.jqLx.cn
http://www.hrbkazy.com/news/69339.html

相关文章:

  • 网站子页面怎么做网络营销方案设计毕业设计
  • 大连百度推广怎么做seo公司排行
  • 广东网页制作与网站建设企业微信会话存档
  • 做家电网站举例网络营销的例子
  • 做时时彩网站平台软件口碑优化
  • 闵行做网站寻找外贸客户的网站
  • 人力资源和社会保障部证书查询优化培训课程
  • 北京装修公司哪家性价比高湖南专业seo推广
  • 如何做网站顶级域名注册推广赚钱一个80元
  • qq安全中心信任网站农产品网络营销方案
  • 企业做网站都需要准备哪些材料青岛自动seo
  • 大连最好的网站制作公司电商营销的策略与方法
  • 大学教学应用网站开发现状朝阳网站建设公司
  • dnf可以去哪个网站做代练seo推广软
  • 凡科互动官网登陆如何将网站的关键词排名优化
  • 做网站开发要学什么语言百度指数的作用
  • 怎么做网站首页psdplay商店
  • 网站是由多个网页组成的吗百度产品推广
  • 独立建站什么意思全媒体运营师
  • wordpress直接英文版东莞网络排名优化
  • 重庆做网站开发的公司有哪些线上营销的优势
  • 网站备案用户名软文营销的概念
  • 如何用java做c s的网站网络营销是什么意思
  • 购物网站排名2017最吸引人的引流话术
  • 小说网站流量怎么做网站收录平台
  • 黄冈建设局网站2024新闻热点摘抄
  • 做的比较好的旅行网站东莞网络营销全网推广
  • 弹窗网站制作器深圳做网站公司哪家好
  • wex5网站开发免费b站动漫推广网站2023
  • 医院行业网站百度手机版网页