mapperscan中的**的含义
时间: 2024-01-17 16:19:12 浏览: 43
mapperscan中的**表示通配符,用于匹配任意字符或任意路径。在Mybatis中,@MapperScan注解用于扫描指定包下的Mapper接口,并将其注册为Spring的Bean。通过使用**通配符,可以扫描指定包及其子包下的所有Mapper接口。
例如,如果我们有一个包结构如下:
```
com.study.suke.mapper
└─ UserMapper.java
com.study.suke.mapper.sub
└─ OrderMapper.java
```
我们可以使用`@MapperScan(basePackages = "com.study.suke.**.mapper")`来扫描`com.study.suke`包及其子包下的所有Mapper接口,包括`com.study.suke.mapper`和`com.study.suke.mapper.sub`下的接口。
这样,Mybatis会自动将这些Mapper接口注册为Spring的Bean,我们就可以在其他地方通过@Autowired注解来使用这些Mapper接口了。
相关问题
MapperScan *
@MapperScan注解是用于扫描指定包下的接口类,并自动生成相应的实现类的注解。通过使用@MapperScan注解,我们可以避免为每个Mapper类都添加@Mapper注解,从而减少重复劳动。
在添加@MapperScan注解后,指定的包下所有的接口类,在编译之后都会生成相应的实现类。这样就可以直接使用这些实现类来进行数据库操作,而不需要手动实现接口方法。
举例来说,假设我们添加了@MapperScan***都会在编译之后生成相应的实现类。
总结:@MapperScan注解的作用是扫描指定包下的接口类,并自动生成相应的实现类。这样可以简化我们的开发工作,减少重复劳动。
@MapperScan参数中可以用*吗
在使用@MapperScan注解扫描MyBatis Mapper接口时,是可以使用*通配符的。通配符*表示任何字符或者字符串,可以扫描指定包及其子包下的所有Mapper接口,例如:
```
@MapperScan("com.example.mapper.*")
```
这样就可以扫描com.example.mapper包及其子包下的所有Mapper接口了。注意,使用通配符扫描会增加扫描的时间和资源消耗,因此建议只扫描必要的包。