myabtis入门级05——核心配置文件02——输入输出映射

一、Mybatis输入映射(掌握)

通过parameterType指定输入类型,

(一)、简单类型

直接写就行,比如根据id查询用户信息。直接指定parameterType即可。

(二)、输入Hashmap:

输入pojo对象可以改用hashMap输入类型,将输入的字段名作为map的key,value为字段值。

(三)、Pojo包装对象

需求: 完成用户信息的综合查询,需要传入的查询条件很复杂。
比如要查询用户列表附带商品、订单信息等,就需要使用自定义的包装类型。
在包装类型的pojo中将复杂的查询条件包装进去。
自定义的pojo类型

  1. UserCustom类,继承自User
    在这里插入图片描述
  2. UserQueryVo
    在这里插入图片描述
  3. Mapper.xml
    在这里插入图片描述
  4. Mapper.java
    在这里插入图片描述
  5. 测试代码
    在这里插入图片描述

二、Mybatis输出映射(掌握)

通过resultType设置输出类型
使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一直,该列才可以映射成功。
如果查询出来的列名与pojo中的属性名全部不一致,则没有创建pojo对象。
只要查询出来的列名与pojo中的属性有一个一致,就会创建pojo对象。

(一)输出简单类型

需求:用户信息的综合查询列表总数,通过查询总数和上边的用户综合查询列表才可以实现分页。
a) Mapper.xml
在这里插入图片描述
b) Mapper.java
在这里插入图片描述
c) 测试代码
在这里插入图片描述
输出简单类型总结:
查询出来的结果集只有一行且一列,可以使用简单类型进行输出映射。

(二)输出pojo对象和pojo列表

a) 不管是输出单个pojo对象还是pojo列表,在mapper.xml中resultType指定的类型是一样的。在mapper.java中的函数返回值不一样。
i. 如果输出的单个对象,则返回pojo单个对象
ii. 如果输出的是pojo列表,则返回List
根据生成的动态代理对象中是根据mapper方法返回值类型确定是调用selectOne(返回单个对象时调用)还是selectList(返回集合时调用)。

(三)输出hashmap

输出pojo对象可以改用hashMap输出类型,将输出的字段名作为map的key,value为字段值。

(四)resultMap

resultType可以指定pojo将查询结果映射为pojo,但是需要pojo的属性名和sql查询的列名一致方可映射成功。
如果sql查询字段名和pojo的属性名不一致,可以通过resultMap将字段名和属性名字作为一个对应关系,resultMap实质上还需要将查询结果映射到pojo对象中。
resultMap可以实现将查询结果映射作为复杂类型的pojo,比如在查询结果映射对象中包括pojo和list实现一对一查询和一对多查询。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值