SpringBoot项目中,mybatis中的if语句无故不执行。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35529931/article/details/82053656

这次修改一个bug,做的导出功能的bug。导出功能导出的数据跟查询出来的数据不一致。于是,最开始的想法是,前端传参数变量的时候,有没有传过来的。进行页面调试,查看各种情况的查询和导出的参数进行对比,对比了一个多小时,各种情况多一一进行了比较,发现两者传进来的参数都是一样的。于是,又开始去重新着手后台。因为一开始的时候,两者的SQL和serivce层的写法都是一样的,因为功能很类似。
通过debug调试发现了,当两者数据不一样的时候,有个带if的SQL执行不一致。于是就很奇怪了,继续看下去。每次不一致的原因,是因为有个参数传进来false(或者true)时,导致有问题,我写的这个不执行,但是上门查询的那个却执行了。我也是很尴尬,为啥同样的环境同样的SQL,一个执行一个不执行。没办法,不能因为不执行而不解决出现的bug,于是将传进来的false(true)改用1,2代替了。
很尴尬的解决了这个花费了一天时间的bug.以后使用的时候,还是要注意下。由于改bug的时候,比较忙,没有截图。就用文字进行描述一遍吧。

猜你喜欢

转载自blog.csdn.net/qq_35529931/article/details/82053656