Xml 映射文件中,除了常见的 select|insert|updae|delete 标签之外,还有哪些标签?

简介: Xml 映射文件中,除了常见的 select|insert|updae|delete 标签之外,还有哪些标签?

<resultMap>、<parameterMap>、<sql>、<include>、<selectKey>,加上动态 sql 的 9 个标签 trim | where | set | foreach | if | choose | when | otherwise | bind 等,<selectKey > 为不支持自增的主键生成策略标签。

各标签作用:

1.<resultMap>:映射数据库字段名与实体类属性名关系,用于字段名与属性名不一致。

2.<parameterMap>:

3.<sql>、<include>:<sql> 用于提取可重用的 sql 语句片段;<include > 用于引入可重用 sql 语句片段。两个标签搭配使用。

4.<selectKey>:主键回填,selectKey 返回最近一次插入的 id。

5.<trim>:MyBatis trim 标签一般用于去除 sql 语句中多余的 and 关键字,逗号,或者给 sql 语句前拼接 “where“、“set“以及 “values (“ 等前缀,或者添加 “)“等后缀,可用于选择性插入、更新、删除或者条件查询等操作。

6.<if><where>:

<if> 标签内的 Sql 片段在满足条件后才会添加,用法为: <if test="条件"> 。

<where> 可以代替 sql 中的 where 1=1 和第一个 and ,更符合程序员的开发习惯。

7.<set>:<set> 标签用在 update 语句中。借助 <if> ,可以只对有具体值的字段进行更新。 <set> 会自动添加 set 关键字,并去掉最后一个 if 语句中多余的逗号。

8.<choose>、<when>、<otherwise>: 这些标签表示多条件分支,类似 JAVA 中的 switch...case 。 <choose> 类似 switch , <when> 类似 case , <otherwise> 类似 default 。

9.<foreach>:<foreach> 类似 JAVA 中的 for 循环,可以遍历集合或数组,用于批量增删改查。

10.<bind>:bind 元素可以(从 OGNL 表达式中)创建一个变量并将其绑定到上下文。

<bind> 标签两个属性:name、value

name:给对应参数取的别名。

 

value:对应传入实体类的某个字段,可以进行字符串拼接等特殊处理。

相关文章
|
运维 负载均衡 监控
初步了解SpringCloud微服务架构
初步了解SpringCloud微服务架构
808 0
|
Java 数据库连接 测试技术
在Spring Boot中实现数据校验与验证
在Spring Boot中实现数据校验与验证
|
安全 Java 程序员
Spring框架的核心特性是什么?
【4月更文挑战第30天】Spring 的特性
1315 0
|
消息中间件 存储 安全
RabbitMQ 常用 API(二)
RabbitMQ 常用 API(二)
346 0
|
JSON 前端开发 数据格式
org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize instance of `object` out of START_ARRAY token
讲述如何处理 org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize instance of `object` out of START_ARRAY token的问题
 org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize instance of `object` out of START_ARRAY token
|
存储 分布式计算 Dubbo
微服务是什么?
微服务是小型独立的服务,每个服务聚焦单一功能,代码量少,复杂度低。与单体架构相比,微服务强调团队小规模,服务独立开发、部署,数据存储方式和部署方式也不同。微服务架构允许使用不同语言和工具,具有良好的可扩展性和与Docker的兼容性。常见的Java微服务框架有Spring Cloud、Spark和Dubbo。
981 0
|
缓存 Java Spring
5种SpringBoot热部署方式,你用哪种?
Spring Boot 中 5 种热部署方式如下: 1、模板热部署 2、使用调试模式Debug实现热部署 3、spring-boot-devtools 4、Spring Loaded 5、JRebel
1272 0
|
easyexcel
EasyExcel写入内容匹配不上解决方法
EasyExcel写入内容匹配不上解决方法
739 0
|
SQL Java 数据库连接
谈谈mybatispllus的分页原理
【5月更文挑战第23天】MyBatis 是一个流行的持久层框架,它支持自定义 SQL、存储过程以及高级映射。分页是开发中常见的需求,尤其是在处理大量数据时,合理的分页可以有效提升系统性能和用户体验。MyBatis 提供了几种不同的分页方式,本文将对这些方式进行介绍。
413 2
|
Linux C语言 Perl
centos实现离线更新openssh
在CentOS上离线更新OpenSSH: 升级完成后, OpenSSH 版本应为 9.3。务必先备份重要数据与配置并测试系统。
2433 2

热门文章

最新文章