SpringBoot2.0整合tk.mybatis异常解决

pom配置如下(标准简易版):

    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.4.RELEASE
    
 
    
        1.8
        UTF-8
        UTF-8
        1.1.5
        1.2.3
    
 
    
 
        
            tk.mybatis
            mapper-spring-boot-starter
            ${tk.mybatis.version}
        
 
        
        
            com.github.pagehelper
            pagehelper-spring-boot-starter
            ${pagehelper.version}
        
    

启动报异常如下:

Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1  

Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
 at java.lang.AbstractStringBuilder.substring(AbstractStringBuilder.java:908)
 at java.lang.StringBuilder.substring(StringBuilder.java:76)
 at tk.mybatis.mapper.mapperhelper.SqlHelper.getAllColumns(SqlHelper.java:247)
 at tk.mybatis.mapper.mapperhelper.SqlHelper.exampleSelectColumns(SqlHelper.java:534)
 at tk.mybatis.mapper.provider.ExampleProvider.selectByExample(ExampleProvider.java:96)
 at tk.mybatis.mapper.provider.ExampleProvider.selectByExampleAndRowBounds(ExampleProvider.java:111)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at tk.mybatis.mapper.mapperhelper.MapperTemplate.setSqlSource(MapperTemplate.java:246)
 ... 29 common frames omitted

有说是版本不兼容的问题,有说什么MapperScan注解换成tk的,都不行,找了半天,原来是因为定义的数据实体类中没有定义任何属性造成的:  

SpringBoot2.0整合tk.mybatis异常解决_第1张图片

导致mapper扫描xml的时候,会去找对应的实体类,结果发现一个字段(列)都没有,于是就抛了异常

博主为什么会出现这种情况呢?

我搭框架的时候,会依据产品设计好Controller、Service和Dao层,Dao层的entity我只定义,里面的内容由具体的开发者填充,于是乎就出现了,架子搭好了却跑不起来的尴尬局面,解决的办法就是,entity实体类不要空,随便意思下,给个id即可:

SpringBoot2.0整合tk.mybatis异常解决_第2张图片

到此这篇关于SpringBoot2.0整合tk.mybatis异常的文章就介绍到这了,更多相关SpringBoot整合tk.mybatis内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(SpringBoot2.0整合tk.mybatis异常解决)