mybatis isnotnull,mybatis isnull

  mybatis isnotnull,mybatis isnull

  

目录

使用经验不是空的,也不是空的。具体业务需求如下。看看下面两个SQL语句isNull、isNotNull、isEmpty、isNotEmpty之间区别的例子。

 

  00-1010做开发工作久了,需求逐渐梳理后,你会发现大方向已经明确。这时就会进入细节开发环节,这是最繁琐的,也是决定开发质量的关键阶段。最近,我遇到了一个生产问题。必填字段的值已被清除并保存,但无法成功保存。

  00-1010客户基本信息可保存或提交后台系统审批。

  1.保存的时候,其实是一个临时的功能。只要代理输入的合法值有效,它们就必须被保存并入库。

  2.提交审批时,会进行各种验证,包括合法性验证、需求验证、业务逻辑验证等。

  生产问题就出在这个保存的功能上,如果一个字段有值,但是坐席清空,点保存,这时候保存没有生效。

  其实问题很容易定位。我看了一下代码,发现了问题。但这个问题在生产中一直存在。

  主要是堵的问题吗?影响不大,所以有些座位可能发现了,也没在意。他们没有报告生产问题。

  原因是:应该使用isNotNull的地方,没有使用isNotEmpty。

  以上是从业务的角度来分析的,接下来,我们从技术角度来看一下这个问题。

  IsNotNull,顾名思义,不是Null,就是nullisNotEmpty,顾名思义,不是null,就是null,而 (空字符串)的区别很明显,就是是否包含空字符串。对于上面的业务场景,我们需要保存一个空字符串。哪一个?

  

isNotNull与isNotEmpty使用心得

更新产品PSET UPDATE _ TIME=SYSDATE is notempty prepend= AND property= PRODUCT NAME P . PRODUCT _ NAME=# PRODUCT NAME #/isNotEmpty where P . PRODUCT _ ID=# PRODUCT ID #更新产品PSET UPDATE _ TIME=SYSDATE is not null prepend= AND property= PRODUCT _ NAME P . PRODUCT _ NAME=# PRODUCT NAME #/isNotNullwhere P . PRODUCT _ ID=#当页面传递的值是空字符串时,我们必须确保显然,我们需要使用isnotnull标记。

 

  问题的原因其实很简单,就是复制粘贴代码,没有注意到isNotNull和isNotEmpty的区别。

  所以平时要小心,关键是要有分寸。如果知道isNotNull和isNotEmpty的区别,一旦看到这个,自然会想到怎么用。

  00-1010很多关于这方面的例子都很模糊。

  在iBATIS中,isNull用于判断一个参数是否为空,而isNotNull则相反。isEmpty判断参数是Null还是空的。如果满足其中一个条件,则为真。当参数既不为Null也不为空时,为真。

  

具体业务需求是这样的

UPDATE id= UPDATE ybandsb parameter class= Java . util . hashmap UPDATE MZSF _ CLININVOINFO T dynamic prepend= SET isNotNull property= YBZHCODE prepend=, T . YBZHCODE=NULL/isEmpty isNotEmpty property= YBZHCODE prepend=, T . YBZHCODE=# YBZHCODE #/isNotEmpty/isNotNull

 

  hashMap.put(YBZHCODE ,null);该字段不会在sql语句中更新

  上面sql语句,如果 YBZHCODE传入的是null 即:

  hashMap.put(YBZHCODE ," ");sql语句会将该字段更新为空。

  如果有值,它将被更新为传入的值。

  以上个人经验,希望能给大家一个参考,也希望大家能支持盛行的IT。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: