欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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

时间:2022-09-13 08:49:42|栏目:JAVA代码|点击:

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

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
    </parent>
 
    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <tk.mybatis.version>1.1.5</tk.mybatis.version>
        <pagehelper.version>1.2.3</pagehelper.version>
    </properties>
 
    <dependencies>
 
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>${tk.mybatis.version}</version>
        </dependency>
 
        <!-- pageHelper -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>${pagehelper.version}</version>
        </dependency>
    </dependencies>

启动报异常如下:

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的,都不行,找了半天,原来是因为定义的数据实体类中没有定义任何属性造成的:  

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

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

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

上一篇:mybatis实现表与对象的关联关系_动力节点Java学院整理

栏    目:JAVA代码

下一篇:springboot vue测试平台接口定义及发送请求功能实现

本文标题:SpringBoot2.0整合tk.mybatis异常解决

本文地址:http://www.codeinn.net/misctech/213579.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有