@MapperScan("com.building.*.*.mapper") 中 * 号的作用
时间: 2024-01-17 07:54:25 浏览: 89
在@MapperScan("com.building.*.*.mapper")中,*号用于通配符匹配,表示匹配任意的包名或类名。其中,第一个*号表示匹配com.building下的任意一级子包,第二个*号表示匹配任意一级子包下的任意一级子包,最后的mapper表示匹配以“mapper”结尾的类名。
因此,@MapperScan("com.building.*.*.mapper")会扫描com.building包下的所有二级子包中以mapper结尾的接口,并将其注册到Spring容器中,方便在其他地方进行调用。
相关问题
我在springboot 中使用两个数据源,其中一个的数据源配置类中使用了@MapperScan(basePackages = "com.command.admin.mapper.local.*", sqlSessionTemplateRef = "localSqlSessionTemplate") 注解进行mapper扫描,我想扫描com.command.admin.mapper.local下的所有子包及其mapper接口,但是这样并不生效,我该如何扫描com.command.admin.mapper.local下的所有子包及其mapper接口
你可以尝试使用通配符进行扫描,将@MapperScan注解改为@MapperScan("com.command.admin.mapper.local.**"),这样就会扫描com.command.admin.mapper.local下的所有子包及其mapper接口了。另外,如果你使用的是MyBatis,还需要在配置文件中设置mapper扫描路径,例如:
```yaml
mybatis:
mapper-locations: classpath*:com/command/admin/mapper/local/**/*.xml
```
这样就可以扫描com.command.admin.mapper.local下的所有子包及其XML配置文件了。
@MapperScan("org.example.application.*.dao.mapper")
这是一个使用MyBatis框架的注解,用于扫描Mapper接口,并将它们注册到MyBatis框架中。@MapperScan注解需要指定一个包路径,表示要扫描的Mapper接口所在的包。MyBatis是一个Java持久化框架,它提供了一种将SQL语句与Java方法映射起来的方式,可以用于操作数据库。Mapper是MyBatis框架中的一个重要概念,它是一个Java接口,用于定义与数据库操作相关的方法。在应用程序中,我们需要使用Mapper接口来执行数据库操作,而@MapperScan注解可以用于自动扫描这些Mapper接口,并将它们注册到MyBatis框架中,方便我们在应用程序中使用。
阅读全文