记Mybatis与Navcait查询不一致的大坑。
2020-03-28 本文已影响0人
执壹
需求:
想查询一个时间段范围内的数据,MySQL字段是datetime
![](https://img.haomeiwen.com/i6455343/9697309ac825d452.png)
问题复现:
在mybatis查询这个时间段的范围只有一条数据范围,SQL打印如下。
![](https://img.haomeiwen.com/i6455343/642e5056a287ddc0.png)
而在navicat查询相同SQL语句,得到的结果却是两条,这是正确的
![](https://img.haomeiwen.com/i6455343/ec88431d14e6beac.png)
坑点:
一开始用了 str_to_date()函数还是不正确,然后:
1.重启应用 -----无效
2.clean maven 再重新编译---无效
3.重新用EasyCode生成新的xml覆盖原先的,再写一遍函数。重新运行---无效
最后尝试写死xml的sql,发现运行结果是正确的了
![](https://img.haomeiwen.com/i6455343/bbc7b5145328b3d4.png)
思考,应该是以实体类为参数,在解析转换过程中出现了未知问题?
解决方案:
通过直接传String类型参数来解决。
![](https://img.haomeiwen.com/i6455343/34a9008c1cf27309.png)
![](https://img.haomeiwen.com/i6455343/85d5369fb2003867.png)