Mybatis(四)映射文件

本文介绍MyBatis框架中的输入映射和输出映射配置方法,包括简单类型、POJO类型及包装POJO类型的映射方式,并讨论了resultType和resultMap的区别及其使用场景。同时,还介绍了如何通过动态SQL提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 输入映射

本节中的配置文件位置Config/mapper/UserMapper.xml

  1. 简单类型

参考入门程序中的findUserById的映射文件。位置config/user.xml

  1. Pojo类型

参考入门程序insertUser。

  1. 包装pojo类型

  1. 需求

综合查询时,可能会根据用户信息、商品信息、订单信息等作为条件进行查询,用户信息中的查询条件由:用户的名称和性别进行查询

  1. 创建包装pojo

加上getter和setter

  1. 映射文件

  1. mapper接口

  1. 测试代码

  1. Map

和传递pojo类型一样,map的key相当于pojo的属性

  1. 映射文件

  1. 测试代码

 

  1. 输出映射

    1. resultType

    1. 使用要求

使用resultType进行结果映射时,需要查询出的列名和映射的对象的属性名一致,才能映射成功。

 

如果查询的列名和对象的属性名全部不一致,那么映射的对象为空。

如果查询的列名和对象的属性名有一个一致,那么映射的对象不为空,但是只有映射正确那一个属性才有值。

 

如果查询的sql的列名有别名,那么这个别名就是和属性映射的列名。

 

  1. 简单类型

注意,对简单类型的结果映射也是有要求的,查询的列必须是一列,才能映射为简单类型。

  1. 需求

查询用户总数

  1. 映射文件

简单类型的我没有写,直接用别人的图parameterType需要改一下

  1. Mapper接口

  1. 测试代码

  1. Pojo和包装pojo

参考前面的findUserById和findUserByName

  1. resultMap

  1. 使用要求

使用resultMap进行结果映射时,不需要查询的列名和映射的属性名必须一致。但是需要声明一个resultMap,来对列名和属性名进行映射。

 

  1. 需求

对sql查询结果进行对象映射

  1. 映射文件

  1. Mapper接口

  1. 测试代码

  1. 动态sql

在mybatis中,它提供了一些动态sql标签,可以让程序员更快的进行mybatis的开发,这些动态sql可以通过sql的可重用性。。

常用的动态sql标签:if标签、where标签、sql片段、foreach标签

 

  1. If/where

  1. Sql片段

  1. Foreach

    1. 配置文件

  1. 包装pojo类

UserQueryVO中加上idList和get set方法。

  1. Mapper接口

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值