首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么是t.m.s.mapper.ClassPathMapperScanner和o.m.s.mapper.ClassPathMapperScanner

为什么是t.m.s.mapper.ClassPathMapperScanner和o.m.s.mapper.ClassPathMapperScanner
EN

Stack Overflow用户
提问于 2020-12-02 18:25:38
回答 1查看 328关注 0票数 2
代码语言:javascript
运行
复制
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }
} 
代码语言:javascript
运行
复制
59:37.637 [main] WARN  t.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.test.user]' package. Please check your configuration.
59:37.785 [main] WARN  o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.test.user]' package. Please check your configuration.

我尝试添加Spring Boot应用程序的@MapperScan(basePackages = {"com.test.user.mapper"})

代码语言:javascript
运行
复制
....
import tk.mybatis.spring.annotation.MapperScan;

@SpringBootApplication
@MapperScan(basePackages = {"com.test.user.mapper"})
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }
} 

它需要一些警告,比如:

代码语言:javascript
运行
复制
54:57.153 [main] WARN  o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.test.user]' package. Please check your configuration.

然后我换了套餐

代码语言:javascript
运行
复制
org.mybatis.spring.annotation.MapperScan;
代码语言:javascript
运行
复制
....
import org.mybatis.spring.annotation.MapperScan;

@SpringBootApplication
@MapperScan(basePackages = {"com.test.user.mapper"})
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }
} 

这需要另一个警告:

代码语言:javascript
运行
复制
59:22.290 [main] WARN  t.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.test.user]' package. Please check your configuration

这是依赖项的一部分

代码语言:javascript
运行
复制
<!--mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>

        <!--mapper-->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis-spring</artifactId>
                </exclusion>
            </exclusions>
<!--            <version>1.2.4</version>-->
        </dependency>

也许这是一个警告,但我想知道原因和细节?

EN

回答 1

Stack Overflow用户

发布于 2020-12-26 11:05:57

根据the docs的说法,@MapperScan用于扫描MyBatis映射器接口。

如果你得到了警告日志,我相信Spring不会检测到你想要使用的Mybatis映射器。

对于XML映射器,请确保映射器名称空间正确。

映射器namespace="com.test.user.mapper.SomeMybatisXMLMapper

对于Java接口映射器,请确保java文件类名称与您的包匹配。

com.test.user.mapper.SomeMybatisJavaInterfaceMapper

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65106229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档