我是靠谱客的博主 完美百合,最近开发中收集的这篇文章主要介绍Mybatis的parameterType和resultType&resultMap应用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Mybatis的parameterType和resultType&resultMap应用
(尊重劳动成果,转载请注明出处:https://blog.csdn.net/qq_39778516/article/details/84143961 consistencely的博客)
1. parameterType(输入类型)
1.1 传递简单类型
使用#{}占位符,或者${}进行sql拼接。

1.2 传递pojo对象
Mybatis使用ognl表达式解析对象字段的值,#{}或者${}括号中的值为pojo属性名称。

1.3 传递pojo包装对象
开发中通过可以使用pojo传递查询条件。
查询条件可能是综合的查询条件,不仅包括用户查询条件还包括其它的查询条件(比如查询用户信息的时候,将用户购买商品信息也作为查询条件),这时可以使用包装对象传递输入参数。
包装对象:Pojo类中的一个属性是另外一个pojo。
需求:根据用户名模糊查询用户信息,查询条件放到QueryVo的user属性中。
1.3.1 编写QueryVo
在这里插入图片描述
1.3.2 Mapper.xml文件
在这里插入图片描述
1.3.3 Mapper接口
在这里插入图片描述
1.3.4 测试方法
在这里插入图片描述
2. resultType(输出类型)

2.1 输出简单类型
需求:查询用户表数据条数
2.1.1 Mapper.xml文件
在这里插入图片描述
2.1.2 Mapper接口
在这里插入图片描述
2.1.3 测试方法
在这里插入图片描述
3.输出结果resultMap

resultType可以指定将查询结果映射为pojo,但需要pojo的属性名和sql查询的列名一致方可映射成功。如果sql查询字段名和pojo的属性名不一致,可以通过resultMap将字段名和属性名作一个对应关系 ,resultMap实质上还需要将查询结果映射到pojo对象中。
resultMap可以实现将查询结果映射为复杂类型的pojo,比如在查询结果映射对象中包括pojo和list实现一对一查询和一对多查询。
需求:查询订单表order的所有数据
3.1.1 声明pojo对象
在这里插入图片描述
在这里插入图片描述
由于上边的mapper.xml中sql查询列(user_id)和Order类属性(userId)不一致,所以查询结果不能映射到pojo中。
需要定义resultMap,把orderResultMap将sql查询列(user_id)和Order类属性(userId)对应起来

3.1.2 Mapper.xml文件
在这里插入图片描述
在这里插入图片描述
3.1.3 Mapper接口
在这里插入图片描述
3.1.4 测试方法
在这里插入图片描述

最后

以上就是完美百合为你收集整理的Mybatis的parameterType和resultType&resultMap应用的全部内容,希望文章能够帮你解决Mybatis的parameterType和resultType&resultMap应用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部