Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 25991|Yanıt: 1

[Kaynak] MyBatis sayfalama sorgusu Neden olduğu: net.sf.jsqlparser.ParseException: ...

[Bağlantıyı kopyala]
2021-8-20 13:22:31 tarihinde yayınlandı | | |
MyBatis plus sayfalama sorgusu için kullanıldığında, hata şu şekildedir:

Kaynak: org.apache.ibatis.exceptions.PersistenceException:
### Veritabanı sorgulamasında hata var.  Sebep: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: İşleme başarısız oldu, SQL: itsvse hatası
### Sebep: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: İşlem başarısız oldu, SQL: itsvse
        org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) adresinde
        at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:153)
        at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145)
        at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Yerel Yöntem)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:498) adresinde
        org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) adresinde
        ... 112 yaygın çerçeve çıkarıldı
Nedeni: com.baomidou.mybatisplus.core.exceptions.MybatisPlusExceptions: İşlem başarısız oldu, SQL hatası: * from (

                Xxx

        com.baomidou.mybatisplus.core.toolkit.exceptionUtils.mpe(ExceptionUtils.java:39) adresinde
        at com.baomidou.mybatisplus.extension.parser.JsqlParserSupport.parserSingle(JsqlParserSupport.java:52)
        at com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor.beforeQuery(TenantLineInnerInterceptor.java:65)
        at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:78)
        org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62) adresinde
        com.sun.proxy.$Proxy 260.query adresinde (Bilinmeyen Kaynak)
        at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151)
        ... 119 yaygın çerçeve çıkarıldı
Nedeni: net.sf.jsqlparser.parser.ParseException: Beklenmedik token: "select" <K_SELECT>ile karşılaşıldı
    4. satırda, 4. sütunda.

Birini bekliyordum:

    "!"
    "("
    "+"
    "-"
    "?"
    "@"
    "@@"
    "AKSIYON"
    "HERHANGI BİR"
    "BYTE"
    "CASCADE"
    "CASE"
    "OYUNCULAR"
    "DEĞİŞ"
    "CHAR"
    "KARAKTER"
    "SÜTUN"
    "SÜTUNLAR"
    "YORUM"
    "Taahhüt"
    "YARAT"
    "CURRENT"
    "DÖNGÜ"
    "DESC"
    "ANLAT"
    "DEVRE DIŞI GELDİ"
    "DIV"
    "YAP"
    "DOUBLE"
    "TEKRAR"
    "ETKINLEŞTIR"
    "SON"
    "HARIÇ"
    "EXTRACT"
    "YANLIŞ"
    "ÖNCE"
    "FN"
    "TAKIP"
    "FORMAT"
    "GRUP"
    "GROUP_CONCAT"
    "EĞER"
    "İNDEKS"
    "INSERT"
    "ARALIK"
    "ISNULL"
    "KEY"
    "SON"
    "SOL"
    "LIMIT"
    "MADDILEŞTI"
    "NEXTVAL"
    "HAYIR"
    "NOLOCK"
    "HAYIR"
    "NULL"
    "NULLS"
    "OF"
    "OFSET"
    "AÇIQ"
    "AÇ"
    "OPTIMIZE ET"
    "DÜZEN"
    "BITTI"
    "BÖLÜM"
    "YOL"
    "YÜZDE"
    "HASSASIYET"
    "PRIMERARY"
    "ÖNCE"
    "PROSEDÜR"
    "KAMU"
    "RANGE"
    "OKUYUN"
    "YERINI DOLDUR"
    "DOĞRU"
    "KÜREK"
    "SIRALAR"
    "ŞEMA"
    "AYRO"
    "SEQUENCE"
    "OTURUM"
    "SET"
    "KARDEŞLER"
    "SIZE"
    "BAŞLA"
    "MASA"
    "MASALAR"
    "TEMP"
    "GEÇICI"
    "TO"
    "ÜSTTE"
    "DOĞRU"
    "TRUNCATE"
    "TYPE"
    "IMZASIZ"
    "ONAYLA"
    "DEĞER"
    "DEĞERLER"
    "VIEW"
    "XML"
    "XMLSERIALIZE"
    "ZONE"
    "{d"
    "{t"
    "{ts"
    "~"
    <K_DATETIMELITERAL>
    <K_DATE_LITERAL>
    <K_TIME_KEY_EXPR>
    <S_CHAR_LITERAL>
    <S_DOUBLE>
    <S_HEX>
    <S_IDENTIFIER>
    <S_LONG>
    <S_QUOTED_IDENTIFIER>

        at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:26538)
        net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:26377)
        net.sf.jsqlparser.parser.CCJSqlParser.PrimaryExpression(CCJSqlParser.java:11012) adresinde
        at net.sf.jsqlparser.parser.CCJSqlParser.BitwiseXor(CCJSqlParser.java:10671)
        at net.sf.jsqlparser.parser.CCJSqlParser.MultiplicativeExpression(CCJSqlParser.java:10624)
        net.sf.jsqlparser.parser.CCJSqlParser.AdditiveExpression(CCJSqlParser.java:10587) adresinde
        at net.sf.jsqlparser.parser.CCJSqlParser.BitwiseAndOr(CCJSqlParser.java:10533)
        net.sf.jsqlparser.parser.CCJSqlParser.ConcatExpression(CCJSqlParser.java:10509) adresinde
        at net.sf.jsqlparser.parser.CCJSqlParser.SimpleExpression(CCJSqlParser.java:10495)
        net.sf.jsqlparser.parser.CCJSqlParser.PrimaryExpression(CCJSqlParser.java:11005) adresinde
        at net.sf.jsqlparser.parser.CCJSqlParser.BitwiseXor(CCJSqlParser.java:10671)
        at net.sf.jsqlparser.parser.CCJSqlParser.MultiplicativeExpression(CCJSqlParser.java:10624)
        net.sf.jsqlparser.parser.CCJSqlParser.AdditiveExpression(CCJSqlParser.java:10587) adresinde
        at net.sf.jsqlparser.parser.CCJSqlParser.BitwiseAndOr(CCJSqlParser.java:10533)
        net.sf.jsqlparser.parser.CCJSqlParser.ConcatExpression(CCJSqlParser.java:10509) adresinde
        at net.sf.jsqlparser.parser.CCJSqlParser.SimpleExpression(CCJSqlParser.java:10495)
        at net.sf.jsqlparser.parser.CCJSqlParser.SQLCondition(CCJSqlParser.java:9195)
        at net.sf.jsqlparser.parser.CCJSqlParser.Condition(CCJSqlParser.java:8697)
        net.sf.jsqlparser.parser.CCJSqlParser.SelectExpressionItem(CCJSqlParser.java:4798) adresinde
        at net.sf.jsqlparser.parser.CCJSqlParser.SelectItem(CCJSqlParser.java:5033)
        at net.sf.jsqlparser.parser.CCJSqlParser.SelectItemsList(CCJSqlParser.java:4789)
        at net.sf.jsqlparser.parser.CCJSqlParser.PlainSelect(CCJSqlParser.java:4273)
        at net.sf.jsqlparser.parser.CCJSqlParser.SetOperationList(CCJSqlParser.java:4496)
        at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:4163)
        at net.sf.jsqlparser.parser.CCJSqlParser.SubSelect(CCJSqlParser.java:13247)
        at net.sf.jsqlparser.parser.CCJSqlParser.FromItem(CCJSqlParser.java:6263)
        at net.sf.jsqlparser.parser.CCJSqlParser.PlainSelect(CCJSqlParser.java:4287)
        at net.sf.jsqlparser.parser.CCJSqlParser.SetOperationList(CCJSqlParser.java:4496)
        at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:4163)
        at net.sf.jsqlparser.parser.CCJSqlParser.Select(CCJSqlParser.java:4158)
        at net.sf.jsqlparser.parser.CCJSqlParser.SingleStatement(CCJSqlParser.java:130)
        at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:81)
        at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatement(CCJSqlParserUtil.java:163)
        at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:59)
        at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:37)
        at com.baomidou.mybatisplus.extension.parser.JsqlParserSupport.parserSingle(JsqlParserSupport.java:49)
        ... 124 yaygın çerçeve atıldı

Escape karakter referansı

   <                                 
                     <
                     Sayıdan daha küçük                                          
                     >
                     >                                      
                     Sayıdan daha büyük
                     &
                     &
                     ve
                     '
                     ’
                     Kesme işareti
                     "
                     "
                     Çift tırnak işareti


çözüm

Mapper dosyasındaki SQL ifadesini düzeltin, yanlış SQL ifadesi şöyledir:


Düzeltmeden sonra





Önceki:Java Map, KEY'in büyük harf duyarsız LinkedCaseInsensitiveMap sistemine karşı büyük harf duyarsızdır
Önümüzdeki:WhyNotWin11, bilgisayarın Windows 11'e yükseltip yükseltmeyemediğini kontrol ediyor
2021-9-6 tarihinde 15:12:41 tarihinde yayınlandı |
Seviye kodu göremeyecek kadar düşük mü?
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com