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 ...
随机推荐
- IIS mime类型 任意类型
HTTP头 任意mime类型 .* application/octet-stream
- 简单的jquery插件写法之一
http://jsfiddle.net/kyu0hdmx/embedded/#HTML
- linux学习之——基础命令
Linux体系基础命令: Linux是一个命令行组成的操作体系!精华在命令行,岂论图形界面成长到什么水平这个原理是不会变的,Linux命令有许多壮大的效用:从简单的磁盘操作.文件存取.到举办庞大的多媒 ...
- linux links and lynx
接下来,说一下links 和 lynx 的一些基本操作,首先你,需要安装这俩个软件 yum install links yum install lynx links links的功能键 一些常见功能按 ...
- Android(Xamarin)之旅(二)
新的一年,新的开始,2016,我要做什么,大家要做什么,啦啦啦. OK,上篇已经介绍了几个简单的控件,这次,我们继续说说控件.但是可能有人认为这有什么难的,问题不在这里,而在于,如果你注意了每一个空间 ...
- [Shell]正则表达式与通配符
----------------------------------------------------------------------------------------- 正则表达式与通配符: ...
- mac 下真机调试 android 手机
第一步: 查看usb设备信息 在 终端输入:system_profiler SPUSBDataType 可以查看连接的usb设备的信息 比如我的usb信息如下(部分内容): Spreadtru ...
- oracle每天清理归档日志
http://langzhiwang888.iteye.com/blog/1675033 参考这里的内容 在数据库服务器上新建一个bat文件(文件名随意) 编辑此文件为: rman target 's ...
- Windows Phone的简单学习
这次我主要学习了Windows Phone的开发,以及一些简单代码及用处.我了解到了windowsphone的一些功能,下面是我了解到的一些信息. Image 设置好图片的长和宽.结合了Border效 ...
- 转发 eclipse 取消javascript 验证
博客地址: http://blog.csdn.net/itchiang/article/details/7498474 最近出了一个很怪的现象,某一个js文件,在某一个Eclipse工程中呆的好好的, ...