欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > spring boot mapper测试类优化

spring boot mapper测试类优化

2026/4/24 2:28:47 来源:https://blog.csdn.net/u013887008/article/details/144161602  浏览:    关键词:spring boot mapper测试类优化

spring boot mapper测试类优化

有些时候我们只需要测试在 mybatis 写的mapper 是否正确,在注入mapper的时候,
@SpringBootTest 会启动整个容器,包括servlet容器和spring 容器,随着项目文件数逐渐增加,测试一个类会启动很长时间,所以这次就是实现一个注解,加快我们在spring boot中写mapper测试类时的效率

/*** 针对  mybatis mapper 测试 注解* @description TODO* @date 2024-11-30 21:01*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Import({DataSourceAutoConfiguration.class, MybatisPlusAutoConfiguration.class})
//不启动 tomcat 容器
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE)
@MapperScan
public @interface MapperTest {/*** 指定 spring 容器加载 mapper class** @return*/@AliasFor(annotation = SpringBootTest.class, attribute = "classes")Class<?>[] classes() default {};/*** 指定 mapper 路径** @return*/@AliasFor(annotation = MapperScan.class, attribute = "basePackages")String[] basePackages() default {};/*** 指定 mapper class 扫描** @return*/@AliasFor(annotation = MapperScan.class, attribute = "basePackageClasses")Class<?>[] basePackageClasses() default {};
}

使用

@MapperTest(basePackageClasses = RoleMapper.class, classes = RoleMapper.class)
class ApplicationTests {@Autowiredprivate RoleMapper roleMapper;@Testvoid contextLoads() {RoleModel roleModel = roleMapper.selectById(1l);System.out.println(roleModel);}}

good luck!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词