@mapperscan 注解啥时候起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@mapperscan 注解啥时候起作用相关的知识,希望对你有一定的参考价值。

参考技术A mapperscan 一般在启动类的时候就会生效,来进行mapper包下接口的扫描,在编译后生成对象的实现类,还可以在mybatis配置文件中使用。

@MapperScan注解需要在pom.xml导入啥

如下:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE generatorConfiguration

PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"

"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>

<properties resource="application.properties"/>

<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">

<property name="beginningDelimiter" value="`"/>

在SpringBoot中集成MyBatis,可以在mapper接口上添加@Mapper注解,将mapper注入到Spring,但是如果每一给mapper都添加@mapper注解会很麻烦,这时可以使用@MapperScan注解来扫描包。

经测试发现,@MapperScan注解只会扫描包中的接口,不会扫描类,所以可以在包中写Provider类。

@MapperScan("com.demo.mapper"):扫描指定包中的接口。

@MapperScan("com.demo.*.mapper"):一个*代表任意字符串,但只代表一级包,比如可以扫到com.demo.aaa.mapper,不能扫到com.demo.aaa.bbb.mapper.

@MapperScan("com.demo.**.mapper"):两个*代表任意个包,比如可以扫到。com.demo.aaa.mapper,也可以扫到com.demo.aaa.bbb.mapper.

参考技术A <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
<properties resource="application.properties"/>

<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
参考技术B <dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.0</version>
</dependency>
缺少一个mybatis-spring的包

以上是关于@mapperscan 注解啥时候起作用的主要内容,如果未能解决你的问题,请参考以下文章

@MapperScan注解需要在pom.xml导入啥

7注解@Mapper@MapperScan

注解有啥作用,啥时候用注解。Java中怎么样实现注解的构造函数

@MapperScan注解

@MapperScan注解

@MapperScan和@ComponentScan的区别