昨天遇到一个bug,我在postgresql执行的多个方法判断两个varchar类型的时间大小都是正确的,一到mybatis就失效。在这里折腾了2,3个小时。 后面没办法了,我就想着是不是我把where条件删除,直接select all 也没有数据不成?其实。 然后突然发现有一个< ...
最近在工作中,使用mybatis进行查询的时候发现查询出来的数据老是不正确,特地看了看日志,发现当传入参数的为 的时候,myatis的if标签没有将判断语句拼接上去 原来xml配置: 又来经过查证,原来mybatis会把 参数null,所以会导致传入 会使得if标签判断无效。 解决方案: 使用增强判断,即在test语句中增加 or 字段 ,如下 ...
2019-07-27 16:12 0 703 推荐指数:
昨天遇到一个bug,我在postgresql执行的多个方法判断两个varchar类型的时间大小都是正确的,一到mybatis就失效。在这里折腾了2,3个小时。 后面没办法了,我就想着是不是我把where条件删除,直接select all 也没有数据不成?其实。 然后突然发现有一个< ...
最后做项目遇到一件很奇怪的事情,get\set方法可以用,sql语句也是正确的,但是值就是不能保存到数据库。 由于该项目中该字段的默认值为0,所以我在service层将该字段用set方法设为0,但是数据库一致得不到修改,一致都是null。 经查阅相关信息,发现原来在mybatis中0会默认当空 ...
mybatis的where动态判断语句if test 遇到tinyint类型为0的数据失效发现一个mybatis的坑,有个支付表,通过状态去筛选已支付/未支付的数据,支付状态用status字段表示,status=0表示未支付,status=1表示已支付,且status类型为Integer。当选择已 ...
问题描述 mybatis +Spring+mysql环境,进行查询,带有下划线的字段,比如create_date,实体中createDate,返回结果为null。原因由于 进行查询的时候,返回值是使用的resultType 对应的是实体,而这样create_date与createDate ...
采过一个坑,写篇日志来记录下 当状态值设置为0时,操作完了,数据库没反应,没有设置为0 把状态用1和2表示,不使用0,一切正常,问题消失了。 MyBatis的表达式是用OGNL处理的。OGNL表达式的规则如下 Interpreting ...
结论,当列所在行值为 null 时,count(列名) 是不会把 null 值计算出来的。而count(*) , count(1) 等方式是会计算的。 【1】mysql中关于count的坑 有什么坑呢?当 count(col1)时,col1所在列的行值为 null 时,不统计 ...
使用@Select()自定义查询sql 结果映射为Map,字段名称为key,字段值为value 时,一定要注意:字段值不能为null,否则可能导致该字段映射不成功,如果查询的所有字段值都为null,那么返回的map也将为null!可能在后面程序的引用报空指针!所以我们应避免查询的字段值为null ...
目录 在用Criteria时,相关代码如下: 后面发现只有第一个条件才生效,第二个是不生效的。 经调整,代码修改如下: 经测试,功能正常! 我反正被这个坑惨了,我一直以为是mybatis缓存的原因(导致我sql查询模块始终只能匹配到第一个指定的Criteria ...