mybatis系列-06-输入映射
通过parameterType指定输入参数的类型,类型可以是简单类型、hashmap、pojo的包装类型
6.1 传递pojo的包装对象
6.1.1 需求
完成用户信息的综合查询,需要传入查询条件很复杂(可能包括用户信息、其它信息,比如商品、订单的)
6.1.2 定义包装类型pojo
针对上边需求,建议使用自定义的包装类型的pojo。
在包装类型的pojo中将复杂的查询条件包装进去。
public class UserQueryVo {//传入多个idprivate List<Integer> ids;//在这里包装所需要的查询条件//用户查询条件private User userCustom;
6.1.3 mapper.xml
在UserMapper.xml中定义用户信息综合查询(查询条件复杂,通过高级查询进行复杂关联查询)。
<!-- 用户信息综合查询#{userCustom.sex}:取出pojo包装对象中性别值${userCustom.username}:取出pojo包装对象中用户名称--><select id="findUserList" parameterType="UserQueryVo" resultType="User">SELECT * FROM USER WHERE sex = #{userCustom.sex} AND username LIKE '%${userCustom.username}%'</select>
6.1.4 mapper.java
public List<User> findUserList(UserQueryVo userQueryVo);
6.1.5 测试代码
@Testpublic void testFindUserCount(){SqlSession sqlSession = sqlSessionFactory.openSession();//创建UserMapper对象,mybatis自动生成mapper代理对象UserMapper userMapper = sqlSession.getMapper(UserMapper.class);//创建包装对象,设置查询条件UserQueryVo userQueryVo = new UserQueryVo();User user = new User();user.setId(24);user.setSex("1");user.setUsername("张");userQueryVo.setUserCustom(user);//调用userMapper的方法List<User> list = userMapper.findUserList(userQueryVo);System.out.println(list.size()); }
转载于:https://www.cnblogs.com/ChinaHook/p/5532435.html
mybatis系列-06-输入映射相关推荐
- mybatis入门(四)----输入映射和输出映射
阅读目录 一:输入映射 二:输出映射 回到顶部 一:输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型. 1.1.传递pojo的包装对象 ...
- 【Mybatis框架】输入映射-pojo包装类型
下面说说关于mapper.xml文件中的输入映射 我们看一下之前为User配置的mapper文件UserMapper.xml: [html] view plaincopy <?xml versi ...
- 实习笔记 —— MyBatis III (输入/输出映射)
系列文章目录 实习笔记 -- Spring基础 实习笔记 -- IOC反转控制(xml配置文件 + 注解) 实习笔记 -- AOP开发I 实习笔记-- AOP开发II(AOP中Advice的类型) 实 ...
- 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap[转]
上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之insert.update.delete>介绍了insert.update.delete的用法,本篇将介绍select ...
- mybatis入门基础(四)----输入映射和输出映射
阅读目录 一:输入映射 二:输出映射 回到顶部 一:输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型. 1.1.传递pojo的包装对象 ...
- Mybatis 输入映射
之前入门程序中利用mybatis所做的这些增加.删除.修改.查询的操作中,传入参数的输入映射都是简单的Java类型,比如int.string等,稍微复杂一点的也就是一个简单的自定义的Java Bean ...
- 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap good
上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之insert.update.delete>介绍了insert.update.delete的用法,本篇将介绍select ...
- 深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete
2019独角兽企业重金招聘Python工程师标准>>> 上篇文章<深入浅出Mybatis系列(六)---objectFactory.plugins.mappers简介与配置&g ...
- Mybatis系列全解(五):全网最全!详解Mybatis的Mapper映射文件
封面:洛小汐 作者:潘潘 若不是生活所迫,谁愿意背负一身才华. 前言 上节我们介绍了 < Mybatis系列全解(四):全网最全!Mybatis配置文件 XML 全貌详解 >,内容很详细( ...
最新文章
- 构建高可用服务器之二 Keepalive参数详解
- petalinux2020.1使用注意
- 设计模式复习-备忘录模式
- 全球及中国管道运输行业建设发展与投资战略规划报告2022版
- TWITTER背后的开源技术
- SQLserver2000 实例管理工具
- 一、【Collection、泛型】
- package的创建安装和使用
- Oracle Sys和system用户区别
- 第四回. 实数系的性质
- 线程之线程同步(1)
- mysql必需记住的语句_关于MySql的语句
- 英语面试自我介绍范文
- R语言ggplot2可视化:使用ggpubr包的ggviolin函数可视化小提琴图、使用add_summary函数(设置参数为median_iqr)在可视化图像中添加中位数数据点、IQR线条
- 飞车手游显示服务器连接失败怎么办,QQ飞车手游拉取服务器失败 请检查网络稍后重试...
- RobotStudio教程:ABB机器人拆垛与码垛应用示教编程与虚拟仿真
- 【莫烦Python】Python 基础教程——学习笔记
- 计算机网络基本知识(一):分类
- 24.js--do/while、break-continu-label
- 机器学习_深度学习毕设题目汇总——交通
热门文章
- GitHub 5.9K,目标检测、跟踪、关键点全覆盖的年度开源项目来了!
- NeurIPS2021 VALUE:快来刷榜吧!微软提出视频多模态新基准,同时含检索、caption、QA等多个任务!...
- 重磅!国内公司欧卡智舶发布全球首个「城市内河无人船」数据集
- 百度AI快车道深圳专场,揭秘CV目标检测核心技术
- ICCV 2019 | 商汤科技57篇论文入选,13项竞赛夺冠
- 「干货」不逼自己一下不知道自己多牛逼[python篇]
- 【OpenCV】OpenCV实战从入门到精通之 -- 访问图像中的像素
- 收藏!38所设有人工智能学院高校表单!
- 深度学习与TensorFlow:	VGG论文笔记
- 乘法更新规则对于并发的非负矩阵分解和最大间隔分类