Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 25991|Antwort: 1

[Quelle] MyBatis-Paginationsanfrage Verursacht von: net.sf.jsqlparser.parser.ParseException: ...

[Link kopieren]
Veröffentlicht am 20.8.2021, 13:22:31 | | |
Bei der Verwendung von MyBatis Plus für Paginierungsabfragen lautet der Fehler wie folgt:

Verursacht durch: org.apache.ibatis.exceptions.PersistenceException:
### Fehler Abfrage der Datenbank.  Ursache: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Failed to processing, Fehler SQL: itsvse
### Ursache: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Failed to processing, Fehler SQL: itsvse
        unter org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
        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)
        bei sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        bei sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        bei sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        unter java.lang.reflect.Method.invoke(Method.java:498)
        at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)
        ... 112 häufige Rahmen ausgelassen
Verursacht von: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Failed to processing, Fehler SQL: select * von (

                Xxx

        at com.baomidou.mybatisplus.core.toolkit.ExceptionUtils.mpe(ExceptionUtils.java:39)
        at com.baomidou.mybatisplus.extension.parser.JsqlParserSupport.parserSingle(JsqlParserSupport.java:52)
        at com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor.beforeQuery(TenantLineInnerInterceptor.java:65)
        bei com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:78)
        at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)
        unter com.sun.proxy.$Proxy 260.query(Quelle unbekannt)
        at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151)
        ... 119 häufige Rahmen ausgelassen
Verursacht von: net.sf.jsqlparser.parser.ParseException: Unerwartetes Token gefunden: "select" <K_SELECT>
    in Zeile 4, Spalte 4.

Ich hatte mit einem von den folgenden gerechnet:

    "!"
    "("
    "+"
    "-"
    "?"
    "@"
    "@@"
    "ACTION"
    "IRGENDEINES"
    "BYTE"
    "CASCADE"
    "CASE"
    "BESETZUNG"
    "VERÄNDERUNG"
    "CHAR"
    "CHARAKTER"
    "SÄULE"
    "SÄULEN"
    "KOMMENTAR"
    "VERPFLICHTEN"
    "ERSCHAFFEN"
    "CURRENT"
    "ZYKLUS"
    "DESC"
    "BESCHREIBEN"
    "DEAKTIVIERT"
    "DIV"
    "DO"
    "DOPPELT"
    "DUPLIKAT"
    "AKTIVIEREN"
    "ENDE"
    "AUSSCHLIESSEN"
    "EXTRAKT"
    "FALSCH"
    "ZUERST"
    "FN"
    "FOLGEN"
    "FORMAT"
    "GRUPPE"
    "GROUP_CONCAT"
    "WENN"
    "INDEX"
    "EINFÜGEN"
    "PAUSE"
    "ISNULL"
    "SCHLÜSSEL"
    "LETZTE"
    "LINKS"
    "LIMIT"
    "MATERIALISIERT"
    "NEXTVAL"
    "NEIN"
    "NOLOCK"
    "NICHT"
    "NULL"
    "NULLS"
    "VON"
    "OFFSET"
    "AN"
    "ÖFFNE"
    "OPTIMIEREN"
    "ORDNUNG"
    "ENDE"
    "TEILUNG"
    "PATH"
    "PROZENT"
    "PRÄZISION"
    "PRIMÄR"
    "PRIOR"
    "VERFAHREN"
    "ÖFFENTLICH"
    "REICHWEITE"
    "LIES"
    "ERSETZEN"
    "GUT"
    "ROW"
    "ROWS"
    "SCHEMA"
    "SEPARATOR"
    "SEQUENZ"
    "SITZUNG"
    "SET"
    "GESCHWISTER"
    "GRÖSSE"
    "START"
    "TISCH"
    "TISCHE"
    "TEMP"
    "VORÜBERGEHEND"
    "TO"
    "TOP"
    "STIMMT"
    "VERKÜRZEN"
    "TYP"
    "UNSIGNED"
    "VALIDIEREN"
    "WERT"
    "WERTE"
    "AUSSICHT"
    "XML"
    "XMLSERIALISIEREN"
    "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)
        bei net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:26377)
        at net.sf.jsqlparser.parser.CCJSqlParser.PrimaryExpression(CCJSqlParser.java:11012)
        at net.sf.jsqlparser.parser.CCJSqlParser.BitwiseXor(CCJSqlParser.java:10671)
        at net.sf.jsqlparser.parser.CCJSqlParser.MultiplicativeExpression(CCJSqlParser.java:10624)
        at net.sf.jsqlparser.parser.CCJSqlParser.AdditiveExpression(CCJSqlParser.java:10587)
        at net.sf.jsqlparser.parser.CCJSqlParser.BitwiseAndOr(CCJSqlParser.java:10533)
        at net.sf.jsqlparser.parser.CCJSqlParser.ConcatExpression(CCJSqlParser.java:10509)
        at net.sf.jsqlparser.parser.CCJSqlParser.SimpleExpression(CCJSqlParser.java:10495)
        at net.sf.jsqlparser.parser.CCJSqlParser.PrimaryExpression(CCJSqlParser.java:11005)
        at net.sf.jsqlparser.parser.CCJSqlParser.BitwiseXor(CCJSqlParser.java:10671)
        at net.sf.jsqlparser.parser.CCJSqlParser.MultiplicativeExpression(CCJSqlParser.java:10624)
        at net.sf.jsqlparser.parser.CCJSqlParser.AdditiveExpression(CCJSqlParser.java:10587)
        at net.sf.jsqlparser.parser.CCJSqlParser.BitwiseAndOr(CCJSqlParser.java:10533)
        at net.sf.jsqlparser.parser.CCJSqlParser.ConcatExpression(CCJSqlParser.java:10509)
        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)
        at net.sf.jsqlparser.parser.CCJSqlParser.SelectExpressionItem(CCJSqlParser.java:4798)
        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 häufige Rahmen ausgelassen

Escape-Charakterreferenz

   <                                 
                     <
                     Kleiner als die Zahl                                          
                     >
                     >                                      
                     Größer als die Zahl
                     &
                     &
                     und
                     '
                     ’
                     Apostroph
                     "
                     "
                     Doppelte Anführungszeichen


Lösung

Beheben Sie die SQL-Anweisung in der Mapper-Datei, die falsche SQL-Anweisung lautet wie folgt:


Nach der Korrektur





Vorhergehend:Java Map ist kleinschreibungsunsensitiv gegenüber KEYs groß- und fallunsensitivem LinkedCaseInsensitiveMap
Nächster:WhyNotWin11 prüft, ob der Computer auf Windows 11 aktualisieren kann
Veröffentlicht am 06.09.2021, 15:12:41 |
Ist das Level zu niedrig, um den Code anzusehen?
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com