MyBatis-XML映射文件

XML映射文件

规范

  • XML映射文件的名称与Mapper接口名称一致(EmpMapper对应EmpMpper.xml),并且将XML映射文件和Mapper接口放置在相同包下(同包同名)

    ​​​

    • 在maven项目结构中所有的配置文件都在resources目录之下,因此要在该目录下创建Mapper接口相同的文件目录,注意在创建目录时要使用**/进行目录的分级**
  • XML映射文件的namespace属性与Mapper接口全限定名一致

  • XML映射文件中的SQL语句的id与Mapper接口中的方法名一致,并保持返回类型一致。

    • Mapper接口中的方法名

    • XML映射文件中的id

    • 设置返回查询结果的返回类型resultType

      • resultType设置的是查询结果单条记录所封装的类型

原理

在调用某一个Mapper接口中的方法时,就会执行该Mapper接口对应的XML映射文件中的对应的SQL语句

如上述3图所示:在调用EmpMapper接口中的List()时,就会执行对应的EmpMapper.xml映射文件中的id=List的SQL语句

IDEA插件

  • MybatisX是一款基于IDEA的快速开发Mybatis的插件,为效率而生。
  • 在IDEA插件中进行搜索即可
  • 安装成功之后在Mapper接口文件前就会如下图所示

小结

使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句更加混乱不堪。 因此,如果你需要做一些很复杂的操作,最好用 XML 来映射语句。

选择何种方式来配置映射,以及认为是否应该要统一映射语句定义的形式,完全取决于你和你的团队。 换句话说,永远不要拘泥于一种方式,你可以很轻松的在基于注解和 XML 的语句映射方式间自由移植和切换。

  1. XML映射文件定义规范
    1. XML文件的名称要与Mapper接口文件的名称一致,并且放在相同的包下(同包同名)
    2. XML文件的namespace属性与Mapper接口全限定名(是指一个类或接口在Java中的完整命名,包括包名和类)一致
    3. XML文件中的SQL语句的id与Mapper接口中的方法名一致
相关推荐
JoyT13 小时前
Spring AI 2.0 进阶入门:Badcase、Eval 与大模型应用效果优化
后端
步行cgn13 小时前
Spring 注入 Properties 详解
java·python·spring
JaguarJack13 小时前
PHP Trait 为何可能成为语言的关键特性
后端·php·服务端
干到60岁退休的码农13 小时前
16.过滤器中处理异常响应返回
java·spring boot·mybatis
geovindu13 小时前
sql: Data Modeling Patterns
数据库·sql·设计模式·sqlserver
n8n13 小时前
多 Agent 协作实战:Supervisor 模式构建专家团队,突破单一 Agent 能力边界
后端
BingoGo13 小时前
PHP Trait 为何可能成为语言的关键特性
后端·php
Joy T14 小时前
Spring AI 2.0 进阶入门:RAG、Structured Output 与 Agent 信息闭环
java·人工智能·spring·rag·springai·agent入门
名字还没想好☜14 小时前
Python 的 __call__ 实战:让实例像函数一样被调用,做带状态计数器、缓存器与可配置策略
开发语言·后端·python·缓存·编程语言
瀚高PG实验室14 小时前
瀚高数据库如何克隆表
数据库·sql·postgresql·瀚高数据库