MyBatis多参数传递之Map方式示例——MyBatis学习笔记之十三
前面的文章介绍了MyBatis多参数传递的注解、参数默认命名等方式,今天介绍Map的方式。仍然以前面的分页查询教师信息的方法findTeacherByPage为例(示例源代码下载地址:http://down.51cto.com/data/546809)。
首先修改映射器接口TeacherMapper中的findTeacherByPage方法如下:
//分页查询教师信息
public List<Teacher> findTeacherByPage(Map<String, Object> map);
相应地,这里用到了Map接口,就应该引入此接口:import java.util.Map。
在执行类CollectionDemo中,调用findTeacherByPage方法的相关代码如下:
Map<String, Object> params = new HashMap<String, Object>();
//以name字段升序排序,
params.put("sort", "name");
params.put("dir", "asc");
//查询结果从第0条开始,查询2条记录
params.put("start", 0);
params.put("limit", 2);
//查询职称为教授或副教授的教师
params.put("title", "%教授");
//分页查询教师信息
List<Teacher> teachers = mapper.findTeacherByPage(params);
可以看出,我们先把参数放在了一个Map中,这样我们就可以在相应的SQL语句中以#{…}的形式引用这些参数了。如下所示:
<select id="findTeacherByPage" resultMap="supervisorResultMap" parameterType="java.util.Map"> select * from teacher where title like #{title} order by ${sort} ${dir} limit #{start},#{limit} </select>
与以前一样,在order by子句中应使用${…}的方式。实际上,这里的parameterType="java.util.Map"可以不要。
运行结果如下:
猛戳这里全面系统地学习MyBatis 3
MyBatis技术交流群:188972810,或扫描二维码:
【MyBatis学习笔记】系列之预备篇一:ant的下载与安装
【MyBatis学习笔记】系列之预备篇二:ant入门示例
【MyBatis学习笔记】系列之一:MyBatis入门示例
【MyBatis学习笔记】系列之二:MyBatis增删改示例
【MyBatis学习笔记】系列之三:MyBatis的association示例
【MyBatis学习笔记】系列之四:MyBatis association的两种形式
【MyBatis学习笔记】系列之五:MyBatis与Spring集成示例
【MyBatis学习笔记】系列之六:MyBatis与Spring集成示例续
【MyBatis学习笔记】系列之七:MyBatis一对多双向关联
【MyBatis学习笔记】系列之八:MyBatis MapperScannerConfigurer配置
【MyBatis学习笔记】系列之九:MyBatis collection的两种形式
【MyBatis学习笔记】系列之十:MyBatis日志之Log4j示例
【MyBatis学习笔记】系列之十一:MyBatis多参数传递之注解方式示例
【MyBatis学习笔记】系列之十二:MyBatis多参数传递之默认命名方式示例
【MyBatis学习笔记】系列之十三:MyBatis多参数传递之Map方式示例
【MyBatis学习笔记】系列之十四:MyBatis中的N+1问题
【MyBatis学习笔记】系列之十五:MyBatis多参数传递之混合方式
【MyBatis学习笔记】系列之十六:Spring声明式事务管理示例
【MyBatis学习笔记】系列之十七:MyBatis多对多保存示例
【MyBatis学习笔记】系列之十八:MyBatis多对多关联查询示例
【MyBatis学习笔记】系列之十九:如何在MyBatis-3.2.7中使用Log4j2 rc2
MyBatis中如何通过继承SqlSessionDaoSupport来编写DAO(一)
MyBatis中如何通过继承SqlSessionDaoSupport来编写DAO(二)
MyBatis多参数传递之Map方式示例——MyBatis学习笔记之十三相关推荐
- MyBatis多参数传递之注解方式示例--转
原文地址:http://legend2011.blog.51cto.com/3018495/1015003 若映射器中的方法只有一个参数,则在对应的SQL语句中,可以采用#{参数名}的方式来引用此参数 ...
- python表单提交的两种方式_Flask框架学习笔记之表单基础介绍与表单提交方式
本文实例讲述了Flask框架学习笔记之表单基础介绍与表单提交方式.分享给大家供大家参考,具体如下: 表单介绍 表单是HTML页面中负责数据采集功能的部件.由表单标签,表单域和表单按钮组成.通过表单,将 ...
- vector 、map 、iterator 之学习笔记
由于本人要接手一项C++方面 的工作.由于不会C++,不过做过JAVA 以及一些web方面的开发,加之时间比较短.所以需要速成,于是学习笔记也基本都是用代码代替. //范例资源文件 /******** ...
- yaml 文件内部使用变量赋值的方式_spring boot 学习笔记5(application.yaml 配置文件)...
YAML文件格式是Spring Boot支持的一种JSON超集文件格式,相较于传统的Properties配置文件, YAML文件以数据为核心,是一种更为直观且容易被电脑识别的数据序列化格式.appli ...
- c++ map 自定义排序_Java学习笔记:Map集合介绍
在介绍它之前先来看看再API文档中是如何介绍它的,看图片: 由图片可以看出,Map属于双列集合,每次可以添加一对数据,并且这两个数据具有映射关系. 单列集合和双列集合区别 一.Map继承体系 1.Ha ...
- python以垂直方式输出_python学习笔记
Author: maddock Date: 2015-03-15 21:42:01 (暂时没有整理) python json文件处理 #coding:utf-8 importjson#data = [ ...
- 《Pro ASP.NET MVC 3 Framework》学习笔记之十三【示例项目SportsStore】
接着我们添加一个分页功能.修改ProductController,如下所示: public class ProductController : Controller {public int PageS ...
- 命令注入_命令注入绕过方式总结 (20210111学习笔记)
前言 命令注入是web中常见的漏洞之一,由于web应用程序未对用户提交的数据做严格的过滤,导致用户输入可以直接被linux或windows系统当成命令执行,一般都会造成严重的危害. 常用符号 分号(; ...
- 分布式文档系统-document id的手动指定与自动生成两种方式解析(来自学习笔记:龙果学院ES课程)
1.手动指定document id (1)根据应用情况来说,是否满足手动指定document id的前提: 一般来说,是从某些其他的系统中,导入一些数据到es时,会采取这种方式,就是使用系统中已有数据 ...
最新文章
- 机器学习笔记7-监督学习
- Windows server 2008 处理多用户在登陆时显示问题
- CAEmitterLayer实现粒子效果
- html浏览器的区别是什么意思,不同浏览器对css的识别有区别吗?
- 尤克里里怎么样_尤克里里和吉他区别?尤克里里与吉他相比有什么不可替代的优势...
- pytorch torch.optim.Optimizer
- android 仿小米秒表,android实现秒表功能
- 【微信小程序开发•系列文章七】websocket
- scala学习--难点
- Nmap局域网主机存活发现
- 计算机读研的收获和遗憾
- 速腾激光雷达 xavier环境驱动配置踩坑记录
- 爬虫练习-荔枝直播(分享页)
- xenserver新增试验网卡
- 一个http请求的全过程是怎样的?
- 快手新人直播需要注意什么,掌握以下几点技巧即可丨国仁网络
- 收集大牛的论坛、博客地址,学习网址
- 【论文阅读】Learning with Hypergraphs: Clustering, Classification, and Embedding
- 山西农信社计算机知识,山西农村信用社考试:计算机知识知识点(二)
- RSA密钥证书的生成