时间:2021-05-20
不想看我bb的直接点上面的 ‘'解决方法‘'
我的情况是这样的,在使用mybatis plus提供的QueryWrapper方法里的in查询时,我的参数为类似“1,2,3,4”这样的字符串
//要查的参数 String masterIds = "81554,5654,55948,48945"; QueryWrapper<FpjyPauperInfo> pauperqw = new QueryWrapper<>(); pauperqw.in("user_id",masterIds); UserInfoService.list(pauperqw);结果返回的数据与在数据库查出来的数据不一样(这是我的情况,不知道你们会不会这样),我看了控制台的sql代码
==> Preparing:SELECT user_id,user_name,update_job_dt,group_name,create_dt,create_by,update_dt,update_by FROM fpjy_pauper_info WHERE (user_id IN (?)) ==> Parameters: 81554,5654,55948,48945(String)<== Total: 0查询错误原因
我就在网上早了一下发现,在使用mybatis plus提供的QueryWrapper方法时,你给它的参数是String类型时,在控制台上看着是对的,但是他会默认在参数的前面和后面加上单引号,因为在mybatis plus里
的xml配置文件里(类似于UserInfoMapper.xml的文件),给的参数是用 #{参数名} 的方式
解决方法
这只是我这种情况的解决方法哦
找到你要使用的对象的xml文件(类似于UserInfoMapper.xml的文件)在里面自定义sql语句代码,给参数要用 ${参数名} 的方式,不会自定义sql语句可以去网上查查,网上有太多了,在这里我就不写了。
控制台sql语句输出结果
==> Preparing:SELECT * FROM fpjy_pauper_info WHERE (user_id IN (81554,5654,55948,48945))
==> Parameters:
<== Total: 4
总结
到此这篇关于Mybatis plus中使用in查询出错如何解决的文章就介绍到这了,更多相关Mybatis plus使用in查询出错内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1、使用mybatis-plus自身的查询构造去,只需要在全局配置中添加如下配置mybatis-plus:mapper-locations:classpath:
最近项目中使用了MyBatis-Plus,点击看官方文档。使用一个新的框架,首先是验证框架的使用。使用MyBatis-Plus,首先就验证一下能否成功操作(CR
mybatis-plus的selectById/selectOne查询结果偶尔出错(为null)的问题记录错误截图:亲测重复执行此段代码10次中大概会有连续的2
小米路由无法绑定小米账号,提示“绑定状态查询出错,请重试”这是怎么回事?该如何解决呢?下面一起来看看。 1、在小米路由器绑定小
模糊查询也是数据库SQL中使用频率很高的SQL语句,使用MyBatis来进行更加灵活的模糊查询。直接传参法直接传参法,就是将要查询的关键字keyword,在代码