mybatis-plus 因数据库表名引起的异常

zhome_zj 发布于 2018/01/08 19:55
阅读 5K+
收藏 0

@青苗 你好,想跟你请教个问题:使用mybatis-plus(2.1.6或2.1.8) 会因为数据库表名导致mapper解析出错吗?我遇到的问题是:如果数据库新表名为t_resource_prompt(或t_resource_promptdemo等) 则通过AutoGeneratorHelper生成代码后程序启动异常,如果数据库新表名为t_res_prompt 或t_resource_demo则正常。另数据库已有t_resource_report表。异常信息如下

Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'class path resource [com/xin/portal/system/mapper/xml/ResourcePromptMapper.xml]'; nested exception is org.apache.ibatis.builder.IncompleteElementException: Could not find result map com.xin.portal.system.mapper.ResourceReportMapper.BaseResultMap
    at com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean.buildSqlSessionFactory(MybatisSqlSessionFactoryBean.java:585) ~[mybatis-plus-core-2.1.8.jar:na]
    at com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean.afterPropertiesSet(MybatisSqlSessionFactoryBean.java:385) ~[mybatis-plus-core-2.1.8.jar:na]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687) ~[spring-beans-4.3.7.RELEASE.jar:4.3.7.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624) ~[spring-beans-4.3.7.RELEASE.jar:4.3.7.RELEASE]
    ... 107 common frames omitted
Caused by: org.apache.ibatis.builder.IncompleteElementException: Could not find result map com.xin.portal.system.mapper.ResourceReportMapper.BaseResultMap
    at org.apache.ibatis.builder.MapperBuilderAssistant.getStatementResultMaps(MapperBuilderAssistant.java:346) ~[mybatis-3.4.5.jar:3.4.5]
    at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:290) ~[mybatis-3.4.5.jar:3.4.5]
    at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:109) ~[mybatis-3.4.5.jar:3.4.5]
    at org.apache.ibatis.session.Configuration.buildAllStatements(Configuration.java:788) ~[mybatis-3.4.5.jar:3.4.5]
    at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:758) ~[mybatis-3.4.5.jar:3.4.5]
    at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:753) ~[mybatis-3.4.5.jar:3.4.5]
    at com.baomidou.mybatisplus.mapper.AutoSqlInjector.addMappedStatement(AutoSqlInjector.java:852) ~[mybatis-plus-support-2.1.8.jar:na]
    at com.baomidou.mybatisplus.mapper.AutoSqlInjector.addDeleteMappedStatement(AutoSqlInjector.java:836) ~[mybatis-plus-support-2.1.8.jar:na]
    at com.baomidou.mybatisplus.mapper.AutoSqlInjector.injectDeleteByIdSql(AutoSqlInjector.java:326) ~[mybatis-plus-support-2.1.8.jar:na]
    at com.baomidou.mybatisplus.mapper.AutoSqlInjector.injectSql(AutoSqlInjector.java:125) ~[mybatis-plus-support-2.1.8.jar:na]
    at com.baomidou.mybatisplus.mapper.AutoSqlInjector.inject(AutoSqlInjector.java:105) ~[mybatis-plus-support-2.1.8.jar:na]
    at com.baomidou.mybatisplus.mapper.AutoSqlInjector.inspectInject(AutoSqlInjector.java:82) ~[mybatis-plus-support-2.1.8.jar:na]
    at com.baomidou.mybatisplus.MybatisMapperAnnotationBuilder.parse(MybatisMapperAnnotationBuilder.java:147) ~[mybatis-plus-core-2.1.8.jar:na]
    at com.baomidou.mybatisplus.MybatisMapperRegistry.addMapper(MybatisMapperRegistry.java:86) ~[mybatis-plus-core-2.1.8.jar:na]
    at com.baomidou.mybatisplus.MybatisConfiguration.addMapper(MybatisConfiguration.java:101) ~[mybatis-plus-core-2.1.8.jar:na]
    at org.apache.ibatis.builder.xml.XMLMapperBuilder.bindMapperForNamespace(XMLMapperBuilder.java:413) ~[mybatis-3.4.5.jar:3.4.5]
    at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:94) ~[mybatis-3.4.5.jar:3.4.5]
    at com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean.buildSqlSessionFactory(MybatisSqlSessionFactoryBean.java:583) ~[mybatis-plus-core-2.1.8.jar:na]
    ... 110 common frames omitted
Caused by: java.lang.IllegalArgumentException: Result Maps collection does not contain value for com.xin.portal.system.mapper.ResourceReportMapper.BaseResultMap
    at org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:888) ~[mybatis-3.4.5.jar:3.4.5]
    at org.apache.ibatis.session.Configuration.getResultMap(Configuration.java:640) ~[mybatis-3.4.5.jar:3.4.5]
    at org.apache.ibatis.builder.MapperBuilderAssistant.getStatementResultMaps(MapperBuilderAssistant.java:344) ~[mybatis-3.4.5.jar:3.4.5]
    ... 127 common frames omitted

加载中
0
青苗
青苗

错误 Could not find result map com.xin.portal.system.mapper.ResourceReportMapper.BaseResultMap 你要看下你的 xml 内容是否有问题。

zhome_zj
zhome_zj
这个Mapper是没有问题的,不去新增那个t_resource_prompt 或者起其他名字生成新的文件,项目可以正常启动。我想知道为什么表名起这个时,报这个mapper的异常,像是串到一起了
0
青苗
青苗

引用来自“青苗”的评论

错误 Could not find result map com.xin.portal.system.mapper.ResourceReportMapper.BaseResultMap 你要看下你的 xml 内容是否有问题。

命名请规避重复问题,更多问题可以加入我们 Q 群 576493122 和其他小伙伴交流

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部