Mybatis多参传递的四种解决方案
Mybatis多参传递的四种解决方案
代码异常:org.apache.ibatis.binding.BindingException: Parameter 'param' not found.
长时间没用持久层mybatis框架,今天还出了些异常。查了一下原来是传多参的问题,此问题以前也出现过,现在把解决方案记下以便利其他人及自己后期异常解决。
首先声明,“本人使用的是Dao接口的方式 ”
方案一
Dao参数传递为VO,XML配置:parameterType="*.VO"
方案二
Dao参数传递为Map,XML配置:parameterType="hashMap"。当然Service层需将参数放入Map。
此方法我之前经常用,但并不是太直观,接口方法不能直接清楚传的参数是什么
方案三
Dao参数仍该怎么写就怎么写,但在XML配置中不写入parameterType
参数用#{0}、#{1}、#{*}依次占位
方案四
Dao层使用注解@Param,XML配置中不写入parameterType
e.g
    Integer getCountByNameAndPass(@Param("userName") String userName,@Param("password")String password);个人觉得相较而言,方案四最优
PS:方案一、二配置中不写入parameterType未进行尝试。读者可自行尝试。
Mybatis多参传递的四种解决方案的更多相关文章
- iOS多线程全套:线程生命周期,多线程的四种解决方案,线程安全问题,GCD的使用,NSOperation的使用
		目的 本文主要是分享iOS多线程的相关内容,为了更系统的讲解,将分为以下7个方面来展开描述. 多线程的基本概念 线程的状态与生命周期 多线程的四种解决方案:pthread,NSThread,GCD,N ... 
- ios页面间传递参数四种方式
		ios页面间传递参数四种方式 1.使用SharedApplication,定义一个变量来传递. 2.使用文件,或者NSUserdefault来传递 3.通过一个单例的class来传递 4.通过Dele ... 
- 直接将字典转为DataFrame格式时,会出现:ValueError: If using all scalar values, you must pass an index(四种解决方案)
		问题:想要将字典直接转为DataFrame格式时,除了字典外没有传入其他参数时,会报错 ValueError: If using all scalar values, you must pass an ... 
- MyBatis 中 @Param 注解的四种使用场景,最后一种经常被人忽略!
		有一些小伙伴觉得 MyBatis 只有方法中存在多个参数的时候,才需要添加 @Param 注解,其实这个理解是不准确的.即使 MyBatis 方法只有一个参数,也可能会用到 @Param 注解. 但是 ... 
- java基础之 数据类型 & 值传递 引用传递 & String & 四种引用类型
		一.Java数据类型 分为基本数据类型与引用数据类型 基本数据类型: byte:Java中最小的数据类型,在内存中占1个字节(8 bit),取值范围-128~127,默认值0 short:短整型,2个 ... 
- MyBatis 中 @Param 注解的四种使用场景
		https://juejin.im/post/6844903894997270536 第一种:方法有多个参数,需要 @Param 注解 第二种:方法参数要取别名,需要 @Param 注解 第三种:XM ... 
- 纯CSS垂直居中的四种解决方案
		总结了几种解决方法 但也不是说除了我说的就没有其他方法了 第一个.利用flex布局 代码: 效果: 第二个.利用transform 的 translate属性 代码: 效果: 第三个.使用伪类::af ... 
- 关于for循环中使用setTimeout的四种解决方案
		我们先来简单了解一下setTimeout延时器的运行机制.setTimeout会先将回调函数放到等待队列中,等待区域内其他主程序执行完毕后,按时间顺序先进先出执行回调函数.本质上是作用域的问题. 因此 ... 
- Mybatis传多个参数(三种解决方案)
		第一种方案 DAO层的函数方法 Public User selectUser(String name,String area); 对应的Mapper.xml <select id="s ... 
随机推荐
- Java基础知识温习(无聊的不要不要的,你要不要一起学习!)
			1.Java中的多态 多态是指对象的多种形态,主要包括这两种: 1.1引用多态 a.父类的引用可以指向本类的对象b.父类的引用可以指向子类的对象举个例子:父类Anmail,子类Dog,可以使用父类An ... 
- std::reverse_iterator::base
			google chromium base MRU_Cache 支持反向erase iterator Erase(iterator pos) { deletor_(pos->second); ... 
- 常用UML模型简要小结
			关系: 关联(组合,生命周期相同:聚合,物以类聚),依赖,泛化(继承),实现 还有 包含,细化复用已有用例:扩展,非必要主要的用例 图: 1.用例图:就是描述一个功能场景(集合),其实用例编写(前后置 ... 
- 在unity3d中使用opencv
			1.首先下载opencv2.4.10,解压缩后放在合适的地方,然后根据自己的电脑(32位或64位)选择X86或X64,我的是32位,将“opencv存放路径\build\x86\vc12\bin”加入 ... 
- js取最小最大值--Math.min()、math.max()
			一.Math.min() 返回一组表达式中最小者 eg: var n = Math.min( 2 , 30 ,1 , 200-10 , 300*22 , 20-30 ); alert(n); //打印 ... 
- Android AppWidget
			AppWidget不知道大家使用这个多不多,这个在手机上也叫做挂件,挂件也就是放在桌面方便用户进行使用的,从android1.6开始挂件支持一些简单的lauout和view,到了android4.0之 ... 
- 咏南IOCP中间件支持海量并发方案(集群)
			咏南IOCP中间件支持海量并发方案(集群) 支持D7~XE10.1.1开发 支持负载均衡,自动故障转移 可以在不停机的状态下,根据负载情况灵活增加中间件机器 中间件使用IOCP通信,单中间件支持并发数 ... 
- 设置EditText光标位置
			editext.setSelection(int index); 
- C#字段中加入list<类字段> 的两种写法
			类1 public class NumCon { public string zsNum { get; set; } } 类2 public class RepeatMess //重复数据响应 { p ... 
- Jquery点击发送按钮后,按钮文本倒计时
			1.html代码 <input type="number" id="mobileNo" placeholder="请输入手机号" /& ... 
