关于null的大坑
发表于|更新于
|浏览量:
今天跟前端对接口的时候。。。
有个关键字keyword,前端明明没传入进来,我执行判断的时候,一直进不去那段“如果为空就XXX的逻辑”
1 | if (StringUtils.isNoneBlank(commonQueryDtoEntity.getKeywords())) { |
最后发现代码里我是这样写的
1 | commonQueryDtoEntity.getKeywords()+"" |
这样其实转换出来并不是空串,而是一个”null”字符串。。。
1 | "null" |
希望引以为戒
相关推荐
2023-05-30
mp方法注入支持typeHandler
画虎画皮难画骨,知人知面不知心。——佚名 今天处理了mp中自定义注入方法的typeHandler逻辑,只需要 #{et.name,typeHandler=org.dromara.streamquery.stream.plugin.mybatisplus.JsonFieldHandlerTest$JsonFieldHandler}即可直接指定typeHandler 123456789101112131415161718<script> <if test="list != null and !list.isEmpty()">UPDATE user_info SET name=case id<foreach collection="list" item="et"><choose><when test="et != null and et.name != null">when #{et.id} then #{e...
2023-12-09
spring-state-machine的action踩坑
善则称人,过则称己,则民不争。——佚名 今天在状态机的action里进行事件触发,发现并没有触发 这是因为在action触发后,state才会进行更改,而不是在state触发后。。。 例如此处我们在action的execute打断点: 可以看到还没有更改状态 如果需要在state触发以后紧接着触发event,则可以放到拦截器里spring-state-machine拦截器处理
2020-12-29
html转图片
真话说一半常是弥天大谎。——富兰克林 引入依赖 123456<!-- html转图片 --><dependency> <groupId>com.github.xuwei-k</groupId> <artifactId>html2image</artifactId> <version>0.1.0</version></dependency> 我这里稍微封装了一下 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475package com.ruben.utils;import gui.ava.html.image.generator.HtmlImageGenerator;import javax.imageio.ImageIO;...
2022-07-07
StreamEx
这个世界上没有无用的齿轮,也只有齿轮本身能决定自己的用途。——《嫌疑犯X的献身》 跟昨天介绍的eclipse-collections一样,这是一个同类产品: 仓库地址:https://github.com/amaembo/streamex JavaDoc:http://amaembo.github.io/streamex/javadoc/one/util/streamex/package-summary.html 感受下: 123List<String> userNames = StreamEx.of(users).map(User::getName).toList();Map<Role, List<User>> role2users = StreamEx.of(users).groupingBy(User::getRole);StreamEx.of(1,2,3).joining("; "); // "1; 2; 3" 对比起来好像比eclipse-collections写更少代码 而且更向原生s...
2023-01-23
mybatis SQL类
对于不屈不挠的人来说,没有。——俾斯麦 分享一个mybatis在代码里编写sql的方法 官方文档:https://mybatis.org/mybatis-3/zh/statement-builders.html SQL 语句构建器问题Java 程序员面对的最痛苦的事情之一就是在 Java 代码中嵌入 SQL 语句。这通常是因为需要动态生成 SQL 语句,不然我们可以将它们放到外部文件或者存储过程中。如你所见,MyBatis 在 XML 映射中具备强大的 SQL 动态生成能力。但有时,我们还是需要在 Java 代码里构建 SQL 语句。此时,MyBatis 有另外一个特性可以帮到你,让你从处理典型问题中解放出来,比如加号、引号、换行、格式化问题、嵌入条件的逗号管理及 AND 连接。确实,在 Java 代码中动态生成 SQL 代码真的就是一场噩梦。例如: 1234567891011String sql = "SELECT P.ID, P.USERNAME, P.PASSWORD, P.FULL_NAME, ""P.LAST_NAME,P.CREAT...
2021-07-23
java模块导出与导入
只有经历过地狱般的磨砺,才能练就创造天堂的力量;只有流过血的手指,才能弹出世间的绝响。——泰戈尔 在java9中,新增了模块导入导出功能 我们可以新建一个module-info.java文件 然后我们可以在其中定义模块名、导出模块、引入模块 例如我这里定义了模块名为simple.design 导出的包为com.ruben.vistor.example.insurance和com.ruben.vistor.example.check 导入的包为java.net.http以及java.sql 123456module simple.design { exports com.ruben.vistor.example.insurance; exports com.ruben.vistor.example.check; requires java.net.http; requires java.sql;} 我们在本模块中可以使用到java.net.http以及java.sql 当然我们导出的这两个包下面的类也可以在另一个模块中引用 需要...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog