做登录功能时,mysql能查出来结果,mybatis却查询不出来的解决办法

首先我贴出我的代码

这是mapper里面的方法

做登录功能时,mysql能查出来结果,mybatis却查询不出来的解决办法_第1张图片

这是mapper.xml里的查询方法

做登录功能时,mysql能查出来结果,mybatis却查询不出来的解决办法_第2张图片

启动项目,测试结果

在这里插入图片描述

没有查询到结果,我们复制打印的sql语句去mysql查询一下看看能不能查出来

做登录功能时,mysql能查出来结果,mybatis却查询不出来的解决办法_第3张图片

结果是可以查询到数据的,我也在网上尝试了很多种办法,始终没有解决我的问题,最后发现是我传递参数和mapper.xml文件这两个地方的问题

做登录功能时,mysql能查出来结果,mybatis却查询不出来的解决办法_第4张图片
做登录功能时,mysql能查出来结果,mybatis却查询不出来的解决办法_第5张图片

最终解决办法:

传递字符串参数时,不要加""(双引号)
在这里插入图片描述
如果你加了mybatis使用#{}来获取参数就会给参数再加个双引号,变成"参数"(String),
在这里插入图片描述
不加就是这样,不明白为什么用#{}不能加双引号的,可以去百度查一下,${}和#{}的区别
在这里插入图片描述

这样子mapper.xml文件里可以直接使用#{}来获取参数了,用#{}获取参数可以防止sql注入,是比较安全的。
做登录功能时,mysql能查出来结果,mybatis却查询不出来的解决办法_第6张图片

到此问题解决!

在这里插入图片描述

你可能感兴趣的:(数据库)