通过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-输入映射相关推荐

  1. mybatis入门(四)----输入映射和输出映射

    阅读目录 一:输入映射 二:输出映射 回到顶部 一:输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型. 1.1.传递pojo的包装对象 ...

  2. 【Mybatis框架】输入映射-pojo包装类型

    下面说说关于mapper.xml文件中的输入映射 我们看一下之前为User配置的mapper文件UserMapper.xml: [html] view plaincopy <?xml versi ...

  3. 实习笔记 —— MyBatis III (输入/输出映射)

    系列文章目录 实习笔记 -- Spring基础 实习笔记 -- IOC反转控制(xml配置文件 + 注解) 实习笔记 -- AOP开发I 实习笔记-- AOP开发II(AOP中Advice的类型) 实 ...

  4. 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap[转]

    上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之insert.update.delete>介绍了insert.update.delete的用法,本篇将介绍select ...

  5. mybatis入门基础(四)----输入映射和输出映射

    阅读目录 一:输入映射 二:输出映射 回到顶部 一:输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型. 1.1.传递pojo的包装对象 ...

  6. Mybatis 输入映射

    之前入门程序中利用mybatis所做的这些增加.删除.修改.查询的操作中,传入参数的输入映射都是简单的Java类型,比如int.string等,稍微复杂一点的也就是一个简单的自定义的Java Bean ...

  7. 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap good

    上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之insert.update.delete>介绍了insert.update.delete的用法,本篇将介绍select ...

  8. 深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete

    2019独角兽企业重金招聘Python工程师标准>>> 上篇文章<深入浅出Mybatis系列(六)---objectFactory.plugins.mappers简介与配置&g ...

  9. Mybatis系列全解(五):全网最全!详解Mybatis的Mapper映射文件

    封面:洛小汐 作者:潘潘 若不是生活所迫,谁愿意背负一身才华. 前言 上节我们介绍了 < Mybatis系列全解(四):全网最全!Mybatis配置文件 XML 全貌详解 >,内容很详细( ...

最新文章

  1. 构建高可用服务器之二 Keepalive参数详解
  2. petalinux2020.1使用注意
  3. 设计模式复习-备忘录模式
  4. 全球及中国管道运输行业建设发展与投资战略规划报告2022版
  5. TWITTER背后的开源技术
  6. SQLserver2000 实例管理工具
  7. 一、【Collection、泛型】
  8. package的创建安装和使用
  9. Oracle Sys和system用户区别
  10. 第四回. 实数系的性质
  11. 线程之线程同步(1)
  12. mysql必需记住的语句_关于MySql的语句
  13. 英语面试自我介绍范文
  14. R语言ggplot2可视化:使用ggpubr包的ggviolin函数可视化小提琴图、使用add_summary函数(设置参数为median_iqr)在可视化图像中添加中位数数据点、IQR线条
  15. 飞车手游显示服务器连接失败怎么办,QQ飞车手游拉取服务器失败 请检查网络稍后重试...
  16. RobotStudio教程:ABB机器人拆垛与码垛应用示教编程与虚拟仿真
  17. 【莫烦Python】Python 基础教程——学习笔记
  18. 计算机网络基本知识(一):分类
  19. 24.js--do/while、break-continu-label
  20. 机器学习_深度学习毕设题目汇总——交通

热门文章

  1. GitHub 5.9K,目标检测、跟踪、关键点全覆盖的年度开源项目来了!
  2. NeurIPS2021 VALUE:快来刷榜吧!微软提出视频多模态新基准,同时含检索、caption、QA等多个任务!...
  3. 重磅!国内公司欧卡智舶发布全球首个「城市内河无人船」数据集
  4. 百度AI快车道深圳专场,揭秘CV目标检测核心技术
  5. ICCV 2019 | 商汤科技57篇论文入选,13项竞赛夺冠
  6. 「干货」不逼自己一下不知道自己多牛逼[python篇]
  7. 【OpenCV】OpenCV实战从入门到精通之 -- 访问图像中的像素
  8. 收藏!38所设有人工智能学院高校表单!
  9. 深度学习与TensorFlow: VGG论文笔记
  10. 乘法更新规则对于并发的非负矩阵分解和最大间隔分类