sql查询的数据5条,mybatis查询的数据 只有2条了,为啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql查询的数据5条,mybatis查询的数据 只有2条了,为啥相关的知识,希望对你有一定的参考价值。

参考技术A 看看你配置mapping。xml返回 resultMap配置

Mybatis的sql注入拦截

不知大家是否遇到过这样问题?

当使用mybatis做数据库连接时。如果使用了in(值1,值2,值3...)作数据库查询时,会发生同一条sql语句,同样的参数。在mybatis里查询不了数据,然后把sql语句复制到plsql上查询就有数据。这是为什么呢?


这是因为Mybatis会帮我们进行sql注入拦截,Mybatis如果采用#{xxx}的形式设置参数,Mybatis会进行sql注入的过滤。如果采用的是${xxx},Mybatis不会进行sql注入过滤,而是直接将参入的内容输出为sql语句。

以下是我的一个小案例:

Mybatis的sql注入拦截


这样mybatis上就能查到数据了。

PS:sql语句虽然不一样了。不过查询结果一样的。我只是省了一些逻辑。

当然,这里会出现这样的原因也有可能是因为我后台传进来给in(的值)是通过字符串拼接的方式所以才会出现这样的结果。

以上是关于sql查询的数据5条,mybatis查询的数据 只有2条了,为啥的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis使用问题:查询一对多或多对多时只返回一条数据的问题

Mybatis 物理分页

sql查询一条数据,返回了两条数据idea报错

sql语句查询如何显示第一条数据

Mybatis查询数据

Oracle 数据库 - sql语句筛选出符合查询条件的第一条结果实例演示,sql查询结果只显示指定行数的数据方法