Spring配置Mybatis执行原生SQL语句

本文介绍了在Mybatis框架上配置多个连接池并执行复杂SQL的需求,以及在尝试使用SQL构造器和直接执行SQL语句时遇到的问题和解决方法。重点讨论了如何解决SqlSession执行SQL的参数问题、返回值类型匹配及Mybatis-Spring版本兼容性问题。最后强调了学习过程中查阅官方文档的重要性。
摘要由CSDN通过智能技术生成

为什么要怎么做

有这么一个应用场景:需要在Mybatis框架上进行多个连接池的配置,然后进行多种SQL语句的测试,因为有些SQL语句的结构比较复杂,有些会涉及到很多group byjoin操作还有一些聚集函数的使用,同时数据量又较大。
在这种情况下,常规的Mybatis面对对象进行操作的办法就不再试适用,查看Mybatis官方手册,提供了SQL构造器的办法也会有较的工作量,所以选择直接执行SQL语句(那为啥不用JDBC呢?笑)

遇到的坑

凭我记忆中对Mybatis的用法,似乎并没有这么用的,去网上搜,居然真的存在这种用法,但是讲的大多含糊其辞,晕了一下午也没让我找到正确的做法(真心给跪),这里给出链接
- 将SQL当作SqlSession执行的参数:使用SqlSession的selectList()方法,传入的参数是SQL,当然需要在Bean的mapper xml配置文件中修改parameterType类型为String,同时因为String不支持getter和setter操作,手动封装一个包装类SQLAdapter

虽然看起来似乎可以,但是还是会存在坑的,即“SqlSession对象如何调用selectList()方法来传入SQL语句?”。一开始是直接

 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值