Mybatis控制台输出的sql语句执行有结果,但是返回结果却是0行 50

我用的Oracle数据库,用Mybatis写了个分页查询的语句,发现控制台输出的查询行数为0(注意,不是null,控制台没有异常),我将控制台输出的sql复制到Navic... 我用的Oracle数据库,用Mybatis写了个分页查询的语句,发现控制台输出的查询行数为0(注意,不是null,控制台没有异常),我将控制台输出的sql复制到Navicat中执行,是有结果的。另外做实验,将sql语句中的所有动态条件写死,有可以查询出数据了,但是这不能确定是我的映射有问题,应为上述查询为0行的情况,只在部分查询条件下出现。代码看图,请大神解答~
========经过我无数次试验后发现,只要我将if标签内的#{}传值,改为${}传值,查询数量就正常。但这明显不合理嘛,会增加安全风险。网上大家都在if标签里用#{}传值呀。请大神看下,是不是我用的这个版本的Mybatis 3.2.7 有漏洞,或是版本太低,jar包见截图
展开
 我来答
诺记美利达
电脑发烧友

2018-05-10 · 不会修电脑,但是你问我的我都知道
知道大有可为答主
回答量:1.3万
采纳率:59%
帮助的人:3759万
展开全部
我不知道是不是这种情况,但是建议你动态查询的where那里改成1=1 and 后面再加你的那个动态查询条件。
追问
我试验了,加上1=1后还是不行,同样的现象,将if标签里的条件写死,就可以查询。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
perfectless
2020-11-25 · 超过12用户采纳过TA的回答
知道答主
回答量:41
采纳率:100%
帮助的人:13万
展开全部
我的问题解决了:如果mybatis中有IN条件传参时用$不能用#
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李美男李思钰钮
2018-09-05
知道答主
回答量:1
采纳率:0%
帮助的人:1.4万
展开全部
我遇到了一样的问题 网上找了很多 只有这个跟我的一样。。。 现在还是未解决。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式