在进行myBatis条件查询的时候,会有如下操作: <if test="delFlag !=null and delFlag != ''"> and t.del_flag = #{delFlag} </if> 这样的场景只针对字符串条件查询,如果参数delFlag是Integer类型,且等于0的时候,会识别成空字符串,那样就不会进这个条件查询了. 解决方案如下 <if test="delFlag !=null">and t.del…
mybatis将传入的Integer类型的0被识别成空字符串,网上的解决办法: <if test="status != null and status != '' or status == 0"> and status = #{status, jdbcType = INTEGER}</if> 然而还是有无效的时候.既然status==''时无效,就将其置为null.此时就在Java中对该参数进行处理,当 status == '' 时将其赋值为 null. @Po…
更改mapper文件的sql如下: <if test="interger != null"> interger= #{interger} </if> 原因:Interger类型的数据,当为0的时候传到后台,会被识别成" "(空字符串)处理.…
我们遇到过大多的情况的需求是查询结果中空转为0,这个可以通过oracle的NVL()函数就可以搞定. 之前做报表客户有个需求,查询出结果为0 要转成空的,不显示0 那么在oracle有没有现成函数能搞定呢?有的 1.方法1:NULLIF()函数 1)介绍 NULLIF (expr1, expr2),若expr1和expr2相等,返回NULL:不相等,等返回expr1 2)例子 --将 0 转成 空 ,结果 空 --- )) SexStr1 from dual; 结果 3)实际应用 -- 将入库通…
/** * @Auther: mxf * @Date: 2019/4/18 09:12 * @Description: */ @Configuration @EnableWebMvc public class WebConfig implements WebMvcConfigurer { @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { FastJ…
当Null + 任何字符串时,都等于Null. 因些用函数IsNull(字段名,''),如果字段名中的值是Null时,那么这个字段名的值是''. 例如::select code + IsNull('-'+Description,' ') from table1: 当Description的值是Null 时,显示值是:Code . 当Description 的值不是Null时,显示值是 code - Description.…
Json 中clean方法有两个: 一:会格式化入参,将换行符替换成空格 clean(String bodyHtml, String baseUri, Whitelist whitelist) 二:new Document.OutputSettings().prettyPrint(false)设置为false将不会格式化入参 clean(String bodyHtml, String baseUri, Whitelist whitelist, OutputSettings outputSetti…
最近被问到关于js中空字符串是true还是false得问题,一时间没想起来,现在在chrome的console面板上输出代码测试一下. "" == false 结果是true   在js中空字符串与0相等  即空字符串等于false 0 == false  结果是tue   比较的时候 布尔类型的转换成number类型  false 为0  true 为1 “0” == fase 结果是true  字符串准成number Boolean("0") 结果是true …
在mbatis中使用Xml配置sql语句时,出现了这样一个问题.当我传入的参数为0去做判断时,mybatis会把参数0当成是空字符串去判断而引起查询结果错误 所以在做项目时一定要注意,用到MyBatis时,避免用0来做值. 下面是我的解决办法 <if test="gender != null and (gender !='' or gender == 0) "> AND gender = #{gender} </if> 在后面街上or  ==  0的判断就可以了…
写程序这么多年,近几天才发现,向 Oracle 数据库表中,保存空字符串 '' ,结果成了 null. 由于数据库数值 null 的比较.判断,与空字符串 '' 存在差异.一不留神,代码中留下了 bug ,期望保存成空字符串 '' ,结果成了 null,SQL where 条件的结果 (a1.dls = a2.dls),与预想的不同(两个 null 不能用 = 进行比较,而两个空字符串 '' 可以用=进行比较),导致查询结果数据也不同. 查网上资料,发现 Oracle 在空字符串 '' 的处理上…