【Mybatis参数映射搞不明白?来试试这个工具吧!】之前在《使用技巧-MyBatis参数映射》《使用技巧-Mybatis参数映射(2)》提到了Mybatis的一些参数映射技巧,但是平时使用的时候有些小伙伴可能不知道自己写的#{}表达式能不能获取到对应的实体对象的值,今天抽空整了一个Mybatis参数映射工具,我们可以通过这个工具来测试我们的表达式能否获取到对应的实体对象参数,测试方式非常简单 , 只需要用mAIn方法按下面步骤执行即可,一起来看看吧
- 创建main方法
- 通过工具的MApperProxyFactory获取自定义接口的代理对象
ProdistPackageDao prodistPackageDao = MapperProxyFactory.getMapper(ProdistPackageDao.class);
- 设置接口需要的参数
ProdistPackage prodistPackage = new ProdistPackage();prodistPackage.setProdistOfferNum("32800205364");ArrayList<ProdistPackage> prodistPackages1 = new ArrayList<>();prodistPackages1.add(prodistPackage);
- 调用接口
prodistPackageDao.selectByProdistOfferNum3(prodistPackages1, "aa");
- 通过工具的MapperProxyFactory查看能否获取value值
//通过工具提供的MapperProxyFactory.XMLKeyGetValue来模拟对应xml中的#{}字段,//其中XMLKeyGetValue中的参数就是#{}中的参数名,我们可以通过这个来获取到参数值Object value = https://www.isolves.com/it/cxkf/bk/2024-02-28/MapperProxyFactory.XMLKeyGetValue("packages[0].prodistOfferNum");//如果参数没有问题的话,则Mybatis就能获取到对应的参数值了//然后我们在项目中就可以使用这个表达式了System.out.println(value);
- 完整过程
public class Test {public static void main(String[] args) {//1、首先需要写一个接口,也就是对应的mapper//2、通过工具的MapperProxyFactory获取你的接口的代理对象ProdistPackageDao prodistPackageDao = MapperProxyFactory.getMapper(ProdistPackageDao.class);//3、设置你的接口需要的参数ProdistPackage prodistPackage = new ProdistPackage();prodistPackage.setProdistOfferNum("32800205364");ArrayList<ProdistPackage> prodistPackages1 = new ArrayList<>();prodistPackages1.add(prodistPackage);//4、调用对应的mapper接口prodistPackageDao.selectByProdistOfferNum3(prodistPackages1, "aa");//5、通过工具提供的MapperProxyFactory.XMLKeyGetValue()来模拟对应xml中的#{}字段,//其中XMLKeyGetValue中的参数就是#{}中的参数名,我们可以通过这个来获取到参数值Object value = https://www.isolves.com/it/cxkf/bk/2024-02-28/MapperProxyFactory.XMLKeyGetValue("packages[0].prodistOfferNum");//如果参数没有问题的话,则Mybatis就能获取到对应的参数值了//然后我们在项目中就可以使用这个表达式了System.out.println(value);}}
需要注意的是,工具本身并不能连接数据库,他只是模拟xml中#{}获取参数对象的过程文章插图
我把源代码放到了gitee上,点击链接下载吧!
推荐阅读
- 华为畅享20pro天玑800参数
- 简易百科之什么是端口映射
- 电脑主机关键参数解析:选购主机时必须关注的要点
- 吉利缤瑞14t亚运版怎么看油表,吉利缤瑞汽车仪表盘怎么看参数
- 杨颖陷入了前所未有的困境之中,通话录音的出现,映射出大众对成人娱乐的复杂反应
- .NET领域性能最好的对象映射框架Mapster使用方法
- 机器学习模型参数微调技术的比较研究
- C语言变长参数及其陷阱
- 掌握C++模板的艺术:类型参数、默认值和自动推导
- springboot-如何集成Validation进行参数校验