基于SpringBoot加载Mybatis的TypeAlias问题

网友投稿 319 2022-10-12


基于SpringBoot加载Mybatis的TypeAlias问题

SpringBoot加载Mybatis的TypeAlias

springboot打成jar之后再linux上运行会报找不到 type alias 对应的实体rvauqv类的问题,这是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);

srvauqvqlSessionFactoryBean.setTypeAliasesPackage("com.xxx.xx.entity");

return sqlSessionFactoryBean.getObject();

}

springboot打包启动时报mybatis的typeAlias类名找不到的错误

springBoot项目在IDEA上面正常但是打包之后运行 出错,错误大致为mybatis解析Mapper.xml时 typeAlias找不到XX类

Mapper里面的标签:

这种写法在IDEA里面运行没问题 打包就有问题

正确写法:

代码中的parameterType必须要用全路径才行 否则就出错。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:深信服X计划-网络协议基础 ARP协议(深信服技术)
下一篇:TCP数据的传输过程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~