Python 官方文档:入门教程 => 点击学习
SpringBoot加载mybatis的TypeAlias springboot打成jar之后再linux上运行会报找不到 type alias 对应的实体类的问题,这是spring
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项目在idea上面正常但是打包之后运行 出错,错误大致为mybatis解析Mapper.xml时 typeAlias找不到XX类
<select parameterType="XXClass" resultMap="XXMap">
这种写法在IDEA里面运行没问题 打包就有问题
<select parameterType="cn.test.xxx.XXClass" resultMap="XXMap">
代码中的parameterType必须要用全路径才行 否则就出错。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: 基于SpringBoot加载Mybatis的TypeAlias问题
本文链接: https://www.lsjlt.com/news/130473.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0