Mybatis 传递多个参数
Mybatis提供了4种传递多个参数的方法:
1 Map
sql语句

接口

调用方法

这个方法虽然简单易用,但是存在一个弊端:Map存储的元素是键值对,可读性不好。
2 注解
使用MyBatis的参数注解@Param(org.apache.ibatis.annotations.Param)。
接口

sql语句

#{roleName}代表rolename参数,可读性较好。如果参数过多,那么使用注解方式的可读性就会不好。
3 #{order}
代码与2类似,只不过接口里面没有@Param注解,#{roleName}换为#{0},#{note}换为#{1},参数顺序依次递增,可读性不好。
4 JavaBean
当参数过多时,MyBatis允许组织一个JavaBean,通过set和get方法设置参数。
JavaBean

sql语句

接口

总结
1 Map和#{order}方式使可读性较差,在实际应用中应该废弃。
2 注解方式受到参数个数(n)的影响。当n<=4时,它是最佳的传参方式,比用JavaBean更加直观;当n>4时,太多参数将给调用带来困难,可读性不好,使用JavaBean方式。
参考资料
《深入浅出MyBatis技术原理与实战》 P78-81
Mybatis 传递多个参数的更多相关文章
- Mybatis传递多个参数的4种方式(干货)
Mybatis传递多个参数的4种方式(干货)-----https://blog.csdn.net/youanyyou/article/details/79406486
- Mybatis传递多个参数的几种方式
顺序传参法 public User selectUser(String name, int deptId); <select id="selectUser" resultMa ...
- Mybatis传递多个参数进行SQL查询的用法
当只向xxxMapper.xml文件中传递一个参数时,可以简单的用“_parameter”来接收xxxMapper.java传递进来的参数,并代入查询. 但是,如果在xxxMapper.java文件中 ...
- MyBatis 传递多个参数的几种方法
简介: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简 ...
- Mybatis传递多个参数
方法一: //DAO层的函数方法Public User selectUser(String name,String area); 对应的Mapper.xml <select id="s ...
- Mybatis传递多个参数的解决办法(三种)
第一种方案 DAO层的函数方法 Public User selectUser(String name,String area); 对应的Mapper.xml <select id="s ...
- mybatis传递多个参数值(转)
Mybatis传递多个参数 ibatis3如何传递多个参数有两个方法:一种是使用Map,另一种是使用JavaBean. <!-- 使用HashMap传递多个参数 para ...
- Mybatis 传入多个参数查询数据 (3种方法)
第一种方案 DAO层的函数方法 public User selectUser(String name,String area); 对应的Mapper.xml <select id="s ...
- mybatis 传递参数的方法总结
有三种mybatis传递参数的方式: 第一种 mybatis传入参数是有序号的,可以直接用序号取得参数 User selectUser(String name,String area); 可以在xml ...
随机推荐
- Spring Cloud、Spring Boot与Docker 学习资料汇总
使用Spring Cloud与Docker实战微服务https://gitee.com/itmuch/spring-cloud-bookhttps://eacdy.gitbooks.io/spring ...
- Go语言之函数签名
使用type关键字进行, 函数类型变量也可以作为函数的参数或返回值. 我觉得属于高级技巧了,初学者可能需要很多代码实现的, 高级的就可以更通用的实现. package main import &quo ...
- [转] 深入浅出mongoose-----包括mongoose基本所有操作,非常实用!!!!!
深入浅出mongoose mongoose是nodeJS提供连接 mongodb的一个库. 此外还有mongoskin, mongodb(mongodb官方出品). 本人,还是比较青睐mongoose ...
- jquery源码 整体架构
一.对外提供接口 对外提供了jQuery. //可以通过jQuery或者$来找到jQuery (function(window,undefined){ //(21,94) 定义了一些变量和函数 jQu ...
- java的局部变量和成员变量以及区别
一.局部变量 存在某个方法中的变量就叫局部变量,局部变量一旦声明就必须赋值 否则不能使用 代码如下: class Person { String name; char sex; int age; pu ...
- centos中less翻页查询的用法
用法实例: cat 21342.log | less
- 将input或textarea设置为disabled的样式问题
input:disabled{ -webkit-text-fill-color: #333;//是用来做填充色使用的 -webkit-opacity: 1; color: #333; } textar ...
- Spring-1-(简介及HelloWord)
一:Spring简介 Spring 框架宗旨:不重新发明技术,让原有技术使用起来更加方便. Spring核心功能: 1.AOP:面向切面编程 2.Ioc/Di:控制反转/依赖注入 3.声明式事务 Sp ...
- Badboy录制Jmter脚本
提纲 1.特性和用途 2.下载和安装 3.界面介绍 4.录制脚本(注意:badboy默认是打开就开始录制,需要在step双击后进行取消默认设置) 5.添加断言(参数化设置,注意:badboy默认只运行 ...
- 20165235 祁瑛 2018-3 《Java程序设计》第四周学习总结
20165235 祁瑛 2018-3 <Java程序设计>第四周学习总结 教材学习内容总结 第五单云总结 (一)子类与继承1.java中子类只能有一个父类,在类名前用extends标记.2 ...