一.序言 空值异常是应用运行时常见的异常,传统方式为了编写健壮的应用,常常使用多层嵌套逻辑判断回避空指针异常.Java8新特性之Optional为此类问题提供了优雅的解决方式. 广大程序员朋友对空值异常刻骨铭心,因此Optional一经推出,广受赞誉. 二.问题复原 (一)素材准备 public class LoginUser implements UserDetails { private Long deptId; private String token; private Long logi…
在对数据库进行查询时,遇到了一个问题:查询结果中的某一列需要判断另一列是否为空的来确定值,自然就想到了case when,于是写出了下面的SQL(其他部分省略): (case date when nu ll then 'A' else 'B' end) 'C' 结果不论date是否为null,C这一列的值的结果都是 B,也就是判断的都为非null(即使真的是null) 于是我换成了下面这种写法: (case when date is nu ll then 'A' else 'B' end) 'C…
先看解决方案,其他的都是问题的出处 解决方案:if中使用 _parameter,#{value}不变 <if test="_parameter!='' and _parameter!=null"> join scm_product p on pt.ProductTypeID=p.ProductTypeID where (p.ProductNameCN like concat('%',#{value},'%') or p.ProductNameEN like concat('…