Springboot整合mybatisplus時(shí),使用條件構(gòu)造器排序報(bào)錯(cuò)問題及解決
Springboot整合mybatisplus使用條件構(gòu)造器排序報(bào)錯(cuò)
異常信息
{
"timestamp": "2022-03-23T12:04:29.797+0000",
"status": 500,
"error": "Internal Server Error",
"message": "Error attempting to get column 'create_time' from result set. Cause: java.sql.SQLFeatureNotSupportedException\n; null; nested exception is java.sql.SQLFeatureNotSupportedException",
"path": "/partJob/list"
}
網(wǎng)上查找得知:
數(shù)據(jù)庫(kù)中的create_time是datetime類型,mybatis-plus生成代碼時(shí)生成的是LocalDateTime單mybatis不支持該類型。

方法一
將實(shí)體類中的createtime改為DATE類型

方法二
調(diào)整Druid版本,升級(jí)到1.1.21
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.21</version>
</dependency>Mybatis使用IPAGE排序錯(cuò)誤
錯(cuò)誤信息
//分頁排序
page.setOrders(OrderItem.descs("publish_time"));
報(bào)錯(cuò)信息
failed to concat orderBy from IPage, exception=null
這里”failed to concat orderBy from IPage, exception=null“只是提示你錯(cuò)誤了,但是沒有提及是哪里出現(xiàn)問題
檢查錯(cuò)誤原因
@Test
public void testSqlParser() throws Exception{
String sql = "";
CCJSqlParserUtil.parse(sql);
}通過CCJSqlParserUtil.parse可以拋出SQL的問題所在,一般為關(guān)鍵字沖突、函數(shù)使用不匹配導(dǎo)致
例子
我這里的SQL為
sql: select a,b,IF(c=1 or d=2,0,1) as f from table;
這里是會(huì)提示SQL的IF關(guān)鍵字出現(xiàn)問題,但是這個(gè)SQL是可以執(zhí)行成功,Ipage的排序解析認(rèn)為這個(gè)SQL是錯(cuò)誤的
而只有一個(gè)IF條件時(shí),解析是正確的,所以這里拋出問題不一定是你的SQL問題,而是這個(gè)分頁排序的問題
sql: select a,b,IF(c=1,0,1) as f from table;
現(xiàn)在就是兩種解決辦法:
1.放棄Ipage的排序功能,將排序語句寫在SQL中
2.修改IF,在判斷中只保留一個(gè)條件
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解SpringBoot程序啟動(dòng)時(shí)執(zhí)行初始化代碼
這篇文章主要介紹了詳解SpringBoot程序啟動(dòng)時(shí)執(zhí)行初始化代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09
SpringBoot中web模版數(shù)據(jù)渲染展示的案例詳解
憑借 Spring Framework 的模塊、與你最喜歡的工具的大量集成以及插入你自己的功能的能力,Thymeleaf 是現(xiàn)代 HTML5 JVM Web 開發(fā)的理想選擇——盡管它還有更多功能,本文重點(diǎn)給大家介紹SpringBoot中web模版數(shù)據(jù)渲染展示,需要的朋友可以參考下2022-01-01
java轉(zhuǎn)換時(shí)區(qū)時(shí)間過程詳解
這篇文章主要介紹了java轉(zhuǎn)換時(shí)區(qū)時(shí)間過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
在SpringBoot中配置Thymeleaf的模板路徑方式
這篇文章主要介紹了在SpringBoot中配置Thymeleaf的模板路徑方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
Spring實(shí)戰(zhàn)之抽象Bean和子Bean定義與用法示例
這篇文章主要介紹了Spring實(shí)戰(zhàn)之抽象Bean和子Bean定義與用法,結(jié)合實(shí)例形式分析了Spring抽象Bean和子Bean相關(guān)配置、定義與使用操作技巧,需要的朋友可以參考下2019-11-11
深入剖析Java中Map.Entry的方法與實(shí)戰(zhàn)應(yīng)用
在Java集合框架中,Map.Entry扮演著連接鍵值對(duì)的橋梁角色,作為Map接口的內(nèi)部接口,它封裝了鍵值對(duì)的本質(zhì),是高效處理映射數(shù)據(jù)的核心工具,下面我我們就來深入剖析Map.Entry的概念,方法及實(shí)戰(zhàn)應(yīng)用2025-06-06

