Mybatis配置文件中mapper标签中namespace属性作用小结

本文探讨了在SpringMVC、Spring和MyBatis环境下搭建应用的经验,并深入讨论了面向接口编程的概念及其在MyBatis框架中的具体实践。特别介绍了如何利用Mapper中的namespace绑定DAO接口,从而简化代码并提高开发效率。

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

这几天试着搭建了SpringMVC、Spring和Mybatis的环境,深有感触,尤其是对面向接口编程有了更加深层次的体会。

尤其是在持久层框架Mybatis,以前不管是Dao层还是Service层,都要有对应的接口i和实现类,代码繁琐。但是在目前版本的Mybatis框架中。

例如mapper中的namespace用于绑定Dao接口的,即面向接口编程。它的好处在于当使用了namespace之后就可以不用写接口实现类,业务逻辑会直接通过这个绑定寻找到相对应的SQL语句进行对应的数据处理。

MyBatis 框架中,该 XML 文件是一个 **Mapper 映射文件**,它用于定义 SQL 查询语句以及与 Java 接口(Mapper 接口)之间的映射关系。这个文件通常被放置在项目的 **资源目录(resources)** 下,具体路径应与 `namespace` 对应的包路径保持一致。 --- ### 文件存放位置说明: 你提供的 XML 文件内容中,`namespace` 为: ```xml namespace="com.my.example.mapper.crm.UserMapper" ``` 这意味着这个 XML 文件应该被放置在 `resources` 目录下的如下路径中: ``` src/main/resources/com/my/example/mapper/crm/UserMapper.xml ``` 同时,对应的 Java Mapper 接口应该位于: ``` src/main/java/com/my/example/mapper/crm/UserMapper.java ``` --- ### 配置说明(MyBatis 配置或 Spring Boot 配置) 如果你使用的是 **Spring Boot + MyBatis**,你需要确保 `application.yml` 或 `application.properties` 中配置了 MyBatismapper 文件路径。 #### 示例:`application.yml` 配置 ```yaml mybatis: mapper-locations: classpath:com/my/example/mapper/**/*.xml type-aliases-package: com.my.example.model # 如果你有实体类包 ``` #### 示例:`application.properties` 配置 ```properties mybatis.mapper-locations=classpath:com/my/example/mapper/**/*.xml mybatis.type-aliases-package=com.my.example.model ``` 这样 Spring Boot 启动时会自动扫描这些 XML 文件,并绑定到对应的接口方法上。 --- ### 完整项目结构示意(Maven 项目): ``` my-project/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── my/ │ │ │ └── example/ │ │ │ ├── mapper/ │ │ │ │ └── crm/ │ │ │ │ └── UserMapper.java │ │ │ └── model/ │ │ │ └── User.java │ │ │ │ │ ├── resources/ │ │ └── com/ │ │ └── my/ │ │ └── example/ │ │ └── mapper/ │ │ └── crm/ │ │ └── UserMapper.xml │ │ ├── pom.xml ``` --- ### 小结: - **XML 文件作用**:将 SQL 语句与 Java Mapper 接口方法绑定。 - **存放位置**:`resources` 目录下,路径与 `namespace` 一致。 - **Spring Boot 配置**:需要配置 `mapper-locations` 才能正确扫描到 XML 文件。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值