今天在测试环境运行系统时发现带参数的列表查询异常,

其中查询参数的employeeNo有具体的值

那是到底是哪里出错了呢?
查看了后台控制面板,可以看到实际的查询语句如图:

这处sql对应xml中的写法为:

like "%"#{employeeNo}"%" ,实际的结果就是把中间的两个"也当做具体的字符串了,所以查询的时候sql就是错误的
那Mybatis中的like应该怎么写呢?
推荐是使用mysql中的concat函数:like CONCAT(1,2,3)
将xml中的写法改成

重新在页面上访问后,接口请求正常
文章讲述了在测试环境中遇到的Mybatis列表查询问题,查询参数employeeNo被误解为字符串导致SQL错误。作者通过使用MySQL的concat函数正确处理了LIKE操作,修复后接口请求恢复正常。
2万+





