SpringBoot2.0整合tk.mybatis異常解決
pom配置如下(標(biāo)準(zhǔn)簡易版):
<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>
啟動報(bào)異常如下:
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的,都不行,找了半天,原來是因?yàn)槎x的數(shù)據(jù)實(shí)體類中沒有定義任何屬性造成的: ?
導(dǎo)致mapper掃描xml的時(shí)候,會去找對應(yīng)的實(shí)體類,結(jié)果發(fā)現(xiàn)一個(gè)字段(列)都沒有,于是就拋了異常
博主為什么會出現(xiàn)這種情況呢?
我搭框架的時(shí)候,會依據(jù)產(chǎn)品設(shè)計(jì)好Controller、Service和Dao層,Dao層的entity我只定義,里面的內(nèi)容由具體的開發(fā)者填充,于是乎就出現(xiàn)了,架子搭好了卻跑不起來的尷尬局面,解決的辦法就是,entity實(shí)體類不要空,隨便意思下,給個(gè)id即可:
到此這篇關(guān)于SpringBoot2.0整合tk.mybatis異常的文章就介紹到這了,更多相關(guān)SpringBoot整合tk.mybatis內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java CountDownLatch應(yīng)用場景代碼實(shí)例
這篇文章主要介紹了Java CountDownLatch應(yīng)用場景代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09JDK數(shù)組阻塞隊(duì)列源碼深入分析總結(jié)
在這篇文章當(dāng)中,我們將通過源碼仔細(xì)為大家介紹一下JDK具體是如何實(shí)現(xiàn)數(shù)組阻塞隊(duì)列的,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-08-08超詳細(xì)講解SpringCloud?Commons公共抽象的用法
這篇文章主要介紹了超詳細(xì)講解SpringCloud?Commons公共抽象的用法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-042023最新版IDEA創(chuàng)建javaweb項(xiàng)目的詳細(xì)圖文教程
之前用的社區(qū)版IDEA無法部署JavaWeb項(xiàng)目,于是裝了一個(gè)最新版的IDEA,下面這篇文章主要給大家介紹了關(guān)于2023最新版IDEA創(chuàng)建javaweb項(xiàng)目的詳細(xì)圖文教程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06Java零基礎(chǔ)也看得懂的單例模式與final及抽象類和接口詳解
本文主要講了單例模式中的餓漢式和懶漢式的區(qū)別,final的使用,抽象類的介紹以及接口的具體內(nèi)容,感興趣的朋友來看看吧2022-05-05