Mybatis中xml常用标签体学习

本文深入探讨Mybatis中动态SQL的使用技巧,包括<resultMap>与parameterMap的区别,<sql>代码片段的复用,<if>条件判断,<trim>动态拼接,及<foreach>循环遍历等关键标签的运用,为开发者提供实战指南。

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

在Mybatis中,我们会遇见各式各样的查询,在这里我记录一下几个常用的查询方式以及容易出错的地方

1.<resultMap> 是返回值的封装  parameterMap 是参数的封装 

2.<sql> 这个是代码片段。在标签<sql>中,我们可以将一些常用的写在这个中间,然后在下面的具体的sql语句中进行拼接就行。在下面的具体中需要使用<include>进行引入。

3.<if>标签在使用的时候,需要使用 test属性,将判断条件写在test中

4.<trim>动态拼接sql语句,这个功能很常用,比如我们在执行添加的过程中,insert操作时候,首先封装的属性字段不确定是否存在,就需要判断,我们执行的sql就要动态的拼接了,就要使用到<trim>.这个标签一共有四个属性,分别就是拼接前的头是什么,尾是什么,头忽略什么,尾忽略什么。 prefix前缀  suffix后缀  suffixOverrides 前缀忽略  prefixOverrides后缀忽略,忽略前缀就是如果在这个prefixOverrides标签中,有值了,那么就会在<trim>这个标签体中的所有子标签挨个去查看,如果后缀满足条件,删除掉。

5.<foreach>标签,是遍历, 里面的属性有:

collection (这个是标明你循环的是什么类型,如果是list就写list,如果是map.就写map.如果是数组,就写数组的名字只有这三种)

index(当前遍历到的对象在整个集合中的位置下标)

item (当前遍历到的当前对象)

open 开始   

close 结束 

separator 分隔符 

这里有一个需要注意的地方,就是循环遍历查询的时候,返回值如果是一个list集合的时候,参数的接受不能是list,只能用查询出来的pojo对象接受,也就是resultType写pojo的类名。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值