欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Springboot整合mybatisplus時(shí),使用條件構(gòu)造器排序報(bào)錯(cuò)問(wèn)題及解決

 更新時(shí)間:2024年04月19日 14:45:04   作者:文戌  
這篇文章主要介紹了Springboot整合mybatisplus時(shí),使用條件構(gòu)造器排序報(bào)錯(cuò)問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(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ò)誤信息

//分頁(yè)排序
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ò)誤了,但是沒(méi)有提及是哪里出現(xiàn)問(wèn)題

檢查錯(cuò)誤原因

@Test
public void testSqlParser() throws Exception{
        String sql = "";
        CCJSqlParserUtil.parse(sql);
}

通過(guò)CCJSqlParserUtil.parse可以拋出SQL的問(wèn)題所在,一般為關(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)問(wèn)題,但是這個(gè)SQL是可以執(zhí)行成功,Ipage的排序解析認(rèn)為這個(gè)SQL是錯(cuò)誤的

而只有一個(gè)IF條件時(shí),解析是正確的,所以這里拋出問(wèn)題不一定是你的SQL問(wèn)題,而是這個(gè)分頁(yè)排序的問(wèn)題

sql: select a,b,IF(c=1,0,1) as f from table;

現(xiàn)在就是兩種解決辦法:

1.放棄Ipage的排序功能,將排序語(yǔ)句寫(xiě)在SQL中

2.修改IF,在判斷中只保留一個(gè)條件

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論