SpringBoot2.0整合tk.mybatis異常解決
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的,都不行,找了半天,原來是因為定義的數(shù)據(jù)實體類中沒有定義任何屬性造成的: ?

導致mapper掃描xml的時候,會去找對應(yīng)的實體類,結(jié)果發(fā)現(xiàn)一個字段(列)都沒有,于是就拋了異常
博主為什么會出現(xiàn)這種情況呢?
我搭框架的時候,會依據(jù)產(chǎn)品設(shè)計好Controller、Service和Dao層,Dao層的entity我只定義,里面的內(nèi)容由具體的開發(fā)者填充,于是乎就出現(xiàn)了,架子搭好了卻跑不起來的尷尬局面,解決的辦法就是,entity實體類不要空,隨便意思下,給個id即可:

到此這篇關(guān)于SpringBoot2.0整合tk.mybatis異常的文章就介紹到這了,更多相關(guān)SpringBoot整合tk.mybatis內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用springBoot項目配置文件位置調(diào)整到打包外
這篇文章主要介紹了使用springBoot項目配置文件位置調(diào)整到打包外,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-08-08
java.util.concurrent.ExecutionException 問題解決方法
這篇文章主要介紹了java.util.concurrent.ExecutionException 問題解決方法的相關(guān)資料,需要的朋友可以參考下2016-11-11
詳解領(lǐng)域驅(qū)動設(shè)計之事件驅(qū)動與CQRS
這篇文章分析了如何應(yīng)用事件來分離軟件核心復雜度。探究CQRS為什么廣泛應(yīng)用于DDD項目中,以及如何落地實現(xiàn)CQRS框架。當然我們也要警惕一些失敗的教訓,利弊分析以后再去抉擇正確的應(yīng)對之道2021-06-06
教你通過B+Tree平衡多叉樹理解InnoDB引擎的聚集和非聚集索引
大家都知道B+Tree是從二叉樹演化而來,在這之前我們來先了解二叉樹、平衡二叉樹、平衡多叉樹,這篇文章主要介紹了通過B+Tree平衡多叉樹理解InnoDB引擎的聚集和非聚集索引,需要的朋友可以參考下2022-01-01

