基于SpringBoot加载Mybatis的TypeAlias问题怎么解决
作者:SunnyJourney
时间:2023-05-13
来源:正软商城
浏览:6
SpringBoot加载Mybatis的TypeAliasspringboot打成jar之后再linux上运行会报找不到typealias对应的实体类的问题,这是springboot扫包的问题。工程上默认使用的是Mybatis的DefaultVFS进行扫描,但是在springboot的环境下,Mybatis的DefaultVFS这个扫包会出现问题,所以只能修改VFS,为了清晰可见直接贴代码:@BeanpublicSqlSessionFactorysqlSessionFactoryBean()throwsE
本文目录
SpringBoot加载Mybatis的TypeAlias
springboot打成jar之后再linux上运行会报找不到 type alias 对应的实体类的问题,这是springboot扫包的问题。
工程上默认使用的是Mybatis的DefaultVFS进行扫描,但是在springboot的环境下,Mybatis的DefaultVFS这个扫包会出现问题,所以只能修改VFS,为了清晰可见
直接贴代码:
@Bean
public SqlSessionFactory sqlSessionFactoryBean() throws Exception {
logger.info("load SpringBootVFS");
//DefaultVFS在获取jar上存在问题,使用springboot只能修改
VFS.addImplClass(SpringBootVFS.class);
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource());
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] resources1 = resolver.getResources("classpath*:/mybatis/*.xml");
Resource[] resources2 = resolver.getResources("classpath*:/mysql/mapper/*.xml");
Resource[] resources = (Resource[]) ArrayUtils.addAll(resources1,resources2);
sqlSessionFactoryBean.setMapperLocations(resources);
sqlSessionFactoryBean.setTypeAliasesPackage("com.xxx.xx.entity");
return sqlSessionFactoryBean.getObject();
}springboot打包启动时报mybatis的typeAlias类名找不到的错误
springBoot项目在IDEA上面正常但是打包之后运行 出错,错误大致为mybatis解析Mapper.xml时 typeAlias找不到XX类
Mapper里面的标签:
这种写法在IDEA里面运行没问题 打包就有问题
正确写法:
代码中的parameterType必须要用全路径才行 否则就出错。
作者最新文章
动漫共和国资源入口及正版地址分享
2026-11-04 12:05
xshell端口ssh SSH隧道建立方法
2026-11-03 10:11
CorelDRAW是免费软件吗?详解试用、订阅与一次性购买收费模式
2026-10-30 19:32
PDF怎么免费转成Word并保留内容?转换前后检查要点
2026-10-30 17:50
ArchiveofOurOwn小说快速入口链接
2026-10-30 10:30
热门文章
更多
精品专题
更多
Mac软件
更多
火山引擎 网页版
Windows/ macOS/ Linux
火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。













