tk.mybatis.spring.annotation.MapperScan使用误区

本文介绍了如何解决在使用tk.mybatis.mapper.provider.base.BaseSelectProvider时遇到的Java.lang.NoSuchMethodException,并提醒读者避免混合使用org.mybatis.spring.annotation.MapperScan和tk.mybatis.spring.annotation MapperScan,同时强调了同一包内不要同时被两个注解扫描的注意事项。

java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvider.()

百度了一下,很多地方都说是import 错了@MapperScan的包 ,正确的是 tk.mybatis.spring.annotation.MapperScan ,这里说下我的解决步骤

解决:

org.mybatis.spring.annotation.MapperScan
tk.mybatis.spring.annotation.MapperScan
2 种mapper 扫描最好不要混用
如必须同事配置,同一个包不要同时被2个注解扫描

`MapperScan` 有两个常见的包路径,分别是 `org.mybatis.spring.annotation.MapperScan` 和 `com.baomidou.mybatisplus.annotation.MapperScan`。 `org.mybatis.spring.annotation.MapperScan` 是 MyBatis-Spring 框架提供的注解,用于在 Spring 项目中自动扫描和注册 MyBatis 的 Mapper 接口。当在 Java 项目中使用 MyBatis-Spring 组合时,会用到这个注解来指定 Mapper 接口所在的包路径,以便 Spring 能够自动发现并将这些 Mapper 接口注册为 Bean。如果遇到无法识别该注解的问题,可能是因为依赖版本不兼容等原因,例如 MyBatis 版本使用 Java 17 编译,而项目运行在 Java 8 上,就会出现类文件版本不匹配的错误 [^1][^2][^3]。 `com.baomidou.mybatisplus.annotation.MapperScan` 是 MyBatis-Plus 框架提供的注解。MyBatis-Plus 是在 MyBatis 基础上进行增强的工具,简化了开发过程。该注解的作用和 `org.mybatis.spring.annotation.MapperScan` 类似,也是用于扫描 Mapper 接口并注册为 Bean。在使用 MyBatis-Plus 时,通常会使用这个注解 [^4]。 ### 代码示例 使用 `org.mybatis.spring.annotation.MapperScan` 的示例: ```java import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.example.mapper") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 使用 `com.baomidou.mybatisplus.annotation.MapperScan` 的示例: ```java import com.baomidou.mybatisplus.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.example.mapper") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值