Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 25991|Răspunde: 1

[Sursă] Interogare paginare MyBatis cauzată de: net.sf.jsqlparser.parser.ParseException: ...

[Copiază linkul]
Postat la 20-08-2021 13:22:31 | | |
Când folosești MyBatis plus pentru interogarea paginației, eroarea este următoarea:

Cauzat de: org.apache.ibatis.exceptions.PersistenceException:
### Eroare la interogarea bazei de date.  Cauză: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Eșuat la procesare, Eroare SQL: itsvse
### Cauză: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Eșuat procesarea, Eroare SQL: itsvse
        la org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
        la org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:153)
        la org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145)
        la org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
        la sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        la sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        la sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        la java.lang.reflect.Method.invoke(Method.java:498)
        la org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)
        ... 112 cadre comune omise
Cauzat de: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: A eșuat procesarea, Eroare SQL: select * de la (

                Xxx

        la com.baomidou.mybatisplus.core.toolkit.ExceptionUtils.mpe(ExceptionUtils.java:39)
        la com.baomidou.mybatisplus.extension.parser.JsqlParserSupport.parserSingle(JsqlParserSupport.java:52)
        la com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor.beforeQuery(TenantLineInnerInterceptor.java:65)
        la com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:78)
        la org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)
        la com.sun.proxy.$Proxy 260.query(Sursa necunoscută)
        la org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151)
        ... 119 cadre comune omise
Cauzat de: net.sf.jsqlparser.parser.ParseException: Am întâlnit tokenul neașteptat: "select" <K_SELECT>
    la linia 4, coloana 4.

Mă așteptam la unul dintre:

    "!"
    "("
    "+"
    "-"
    "?"
    "@"
    "@@"
    "ACȚIUNE"
    "ORICARE"
    "BYTE"
    "CASCADE"
    "CAZ"
    "DISTRIBUȚIE"
    "SCHIMBARE"
    "CHAR"
    "PERSONAJ"
    "COLOANĂ"
    "COLOANE"
    "COMENTARIU"
    "ANGAJAMENT"
    "CREEAZĂ"
    "CURENT"
    "CICLU"
    "DESC"
    "DESCRIE"
    "DEZACTIVAT"
    "DIV"
    "FĂ"
    "DUBLU"
    "DUPLICAT"
    "SĂ PERMITĂM"
    "SFÂRȘIT"
    "EXCLUDE"
    "EXTRAGERE"
    "FALS"
    "PRIMUL"
    "FN"
    "URMĂRIND"
    "FORMAT"
    "GRUP"
    "GROUP_CONCAT"
    "DACĂ"
    "INDEX"
    "INSERT"
    "INTERVAL"
    "ISNULL"
    "CHEIA"
    "ULTIMUL"
    "STÂNGA"
    "LIMITĂ"
    "MATERIALIZAT"
    "NEXTVAL"
    "NU"
    "NOLOCK"
    "NU"
    "NULL"
    "NULLS"
    "DE"
    "OFFSET"
    "PORNIT"
    "DESCHIDE"
    "OPTIMIZEAZĂ"
    "ORDINE"
    "TERMINAT"
    "PARTIȚIE"
    "DRUMUL"
    "PROCENTE"
    "PRECIZIE"
    "PRIMAR"
    "PRIOR"
    "PROCEDURĂ"
    "PUBLIC"
    "DISTANȚĂ"
    "CITESC"
    "ÎNLOCUIEȘTE"
    "CORECT"
    "ROW"
    "RÂNDURI"
    "SCHEMA"
    "SEPARATOR"
    "SECVENȚĂ"
    "SESSION"
    "SET"
    "FRAȚI"
    "DIMENSIUNE"
    "START"
    "MASĂ"
    "MESE"
    "TEMPORAR"
    "TEMPORAR"
    "TO"
    "TOP"
    "ADEVĂRAT"
    "TRUNCAT"
    "TYPE"
    "NESEMNAT"
    "VALIDEAZĂ"
    "VALOARE"
    "VALORI"
    "VEDERE"
    "XML"
    "XMLSERIALIZE"
    "ZONĂ"
    "{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)
        la 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)
        la net.sf.jsqlparser.parser.CCJSqlParser.MultiplicativeExpression(CCJSqlParser.java:10624)
        la net.sf.jsqlparser.parser.CCJSqlParser.AdditiveExpression(CCJSqlParser.java:10587)
        at net.sf.jsqlparser.parser.CCJSqlParser.BitwiseAndOr(CCJSqlParser.java:10533)
        la 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)
        la net.sf.jsqlparser.parser.CCJSqlParser.MultiplicativeExpression(CCJSqlParser.java:10624)
        la net.sf.jsqlparser.parser.CCJSqlParser.AdditiveExpression(CCJSqlParser.java:10587)
        at net.sf.jsqlparser.parser.CCJSqlParser.BitwiseAndOr(CCJSqlParser.java:10533)
        la 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)
        la 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)
        la com.baomidou.mybatisplus.extension.parser.JsqlParserSupport.parserSingle(JsqlParserSupport.java:49)
        ... 124 cadre comune omise

Referință de caracter de evadare

   <                                 
                     <
                     Mai mic decât numărul                                          
                     >
                     >                                      
                     Mai mare decât numărul
                     &
                     &
                     și
                     '
                     ’
                     apostrof
                     "
                     "
                     Ghilimele duble


soluție

Corectează instrucțiunea SQL din fișierul Mapper, instrucțiunea SQL greșită este următoarea:


După corecție





Precedent:Java Map este insensibil la majuscule la LinkedCaseInsensitiveMap al KEY, insensibil la majuscule
Următor:WhyNotWin11 verifică dacă calculatorul poate face upgrade la Windows 11
Postat la 2021-9-6 15:12:41 |
Este nivelul prea scăzut pentru a vedea codul?
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com