XML获取参数

在 MyBatis 中,如果 Mapper 接口的方法有多个参数,但没有使用 @Param 注解,默认情况下,MyBatis 会将这些参数放入一个 Map 中,键名为 param1param2 等,或者使用索引 01 等来访问。以下是具体的使用方法和注意事项。

一、Mapper 接口方法

假设有一个 Mapper 接口方法,包含多个参数但没有使用 @Param 注解:

二、XML 文件中的参数引用

在 XML 文件中,可以通过以下方式引用参数:

1. 使用 param1param2 等

MyBatis 会自动为参数生成键名 param1param2 等:

2. 使用索引 01 等

也可以通过索引 01 等来引用参数:

三、注意事项

  1. 可读性问题
      • 使用 param1param2 或索引 01 的方式可读性较差,容易混淆。
      • 建议使用 @Param 注解明确参数名称。
  1. 参数顺序问题
      • 如果参数顺序发生变化,XML 文件中的引用也需要同步修改,容易出错。
  1. 推荐使用 @Param 注解
      • 使用 @Param 注解可以为参数指定名称,提高代码可读性和可维护性。
        • XML 文件:
  1. 一个参数可以不用写@param,也能获取;
  1. 在 JDK 8 中,Java 引入了 参数名称保留 的特性(通过 -parameters 编译参数实现),这使得 MyBatis 可以直接通过变量名获取 #{} 中的值,而不再需要显式指定 @Param 注解。这一特性极大地简化了 MyBatis 的使用,尤其是在方法参数较多时。

 
Loading...
文章列表
王小扬博客
云原生
Git
Elasticsearch
Apollo
产品
Think
生活技巧
软件开发
计算机网络
CI
DB
设计
缓存
Docker
Node
操作系统
Java
大前端
Nestjs
其他
PHP
AI