1.问题描述

为什么数据库sql语句查询正确,但是mybatis查询没有返回值?问题描述如下

使用数据库查询时,可以查到信息:

 而在idea中使用mybatis查询,日志信息正常输出,但是mybatis返回的Row和Total却为0,没有查询到数据:

 无条件的sql却又可以查到,即不传参的时候又有返回数据:

 仔细想,既然控制台能打印出sql语句和参数,那么说明sql语句和参数都没啥问题,后来又仔细查查映射关系,也还是找不到毛病,那么问题到底出在哪,如何解决呢?

2.解决方法

在数据源的url配置后面加上如下utf-8格式设置:

&characterEncoding=utf8

再次查询,完美解决啦!

3.问题总结

问题的原因是因为不设置格式,idea虽然控制台上的中文正确,但是在传往数据库的途中会产生中文乱码!!!!一个乱码和正常文字进行比对的时候就肯定不一样,所以就导致数据库sql语句查询正确,但是mybatis查询没有返回值;

好了!!!

结论出来了!!!!!!

就是因为编码格式!!!

如果可以帮助到你可以请给博主点个赞!

更多推荐

mybatis查询没有返回值,SQL查询却有返回值解决方案