myBatis中通过map集合传入数据查询结果为空

入参Mapper的写法:
myBatis中通过map集合传入数据查询结果为空_第1张图片

Test文件:
myBatis中通过map集合传入数据查询结果为空_第2张图片

  在调用findUserByMap进行模糊查询的时候一直查询出来为空,起初以为是数据库的问题,但是数据库中是存在数据的,我就感觉是在'%${username}%'拼接的时候出现了什么错误,然后查看之前的项目和google查询,这样都是可以的。再后来就去问了微信群的一些朋友,他们说使用concat()进行字符串连接,然后我就抱着百听不如一试的想法试了下,果然可以了。

myBatis中通过map集合传入数据查询结果为空_第3张图片

  秉承着知其然,知其所以然的态度,我又在思考为什么使用concat函数就可以呢,concat也只是连接起来,然后突然想到在配置数据库连接时,${username}是可以从db.properties中读取到数据库配置的属性的,所以他会先从数据中读取username属性,所以会在sql语句中查询为空。

你可能感兴趣的:(JavaEE)