Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 25991|Respuesta: 1

[Fuente] Consulta de paginación MyBatis causada por: net.sf.jsqlparser.parser.ParseException: ...

[Copiar enlace]
Publicado el 20-8-2021 13:22:31 | | |
Al usar MyBatis plus para consultas de paginación, el error es el siguiente:

Causado por: org.apache.ibatis.exceptions.PersistenceException:
### Error al consultar la base de datos.  Causa: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: No se ha procesado, Error SQL: itsvse
### Causa: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: No se ha procesado, Error SQL: itsvse
        en org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
        en org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:153)
        en org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145)
        en org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Método nativo)
        en sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        en sun.reflect.DelegingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        en java.lang.reflect.Method.invoke(Method.java:498)
        en org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)
        ... 112 marcos comunes omitidos
Causado por: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: No se ha procesado, Error SQL: select * from (

                Xxx

        en com.baomidou.mybatisplus.core.toolkit.ExceptionUtils.mpe(ExceptionUtils.java:39)
        en com.baomidou.mybatisplus.extension.parser.JsqlParserSupport.parserSingle(JsqlParserSupport.java:52)
        at com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor.beforeQuery(TenantLineInnerInterceptor.java:65)
        en com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:78)
        at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)
        en com.sun.proxy.$Proxy 260.query(Fuente desconocida)
        en org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151)
        ... 119 marcos comunes omitidos
Causado por: net.sf.jsqlparser.parser.ParseException: Encontré token inesperado: "select" <K_SELECT>
    en la línea 4, columna 4.

Esperaba una de las siguientes:

    "!"
    "("
    "+"
    "-"
    "?"
    "@"
    "@@"
    "ACCIÓN"
    "CUALQUIERA"
    "BYTE"
    "CASCADE"
    "CASE"
    "REPARTO"
    "CAMBIO"
    "CHAR"
    "CARÁCTER"
    "COLUMNA"
    "COLUMNAS"
    "COMENTARIO"
    "COMPROMETERME"
    "CREAR"
    "ACTUAL"
    "CICLO"
    "DESC"
    "DESCRIBIR"
    "DESACTIVADO"
    "DIV"
    "HAZ"
    "DOBLE"
    "DUPLICADO"
    "HABILITAR"
    "FIN"
    "EXCLUIR"
    "EXTRACTO"
    "FALSO"
    "PRIMERO"
    "FN"
    "SIGUIENDO"
    "FORMATO"
    "GRUPO"
    "GROUP_CONCAT"
    "SI"
    "INDEX"
    "INSERTAR"
    "INTERVALO"
    "ISNULL"
    "KEY"
    "ÚLTIMO"
    "IZQUIERDA"
    "LÍMITE"
    "MATERIALIZADO"
    "NEXTVAL"
    "NO"
    "NO BLOQUEO"
    "NO"
    "NULO"
    "NULLS"
    "OF"
    "DESPLAZAMIENTO"
    "ENCENDIDO"
    "ABRE"
    "OPTIMIZAR"
    "ORDEN"
    "CAMBIO"
    "PARTICIÓN"
    "CAMINO"
    "PORCENTAJE"
    "PRECISIÓN"
    "PRIMARIA"
    "PRIOR"
    "PROCEDIMIENTO"
    "PÚBLICO"
    "RANGO"
    "LEER"
    "REEMPLAZAR"
    "CLARO"
    "ROW"
    "ROWS"
    "ESQUEMA"
    "SEPARADOR"
    "SECUENCIA"
    "SESIÓN"
    "SET"
    "HERMANOS"
    "TAMAÑO"
    "EMPEZAR"
    "MESA"
    "MESAS"
    "TEMPORAL"
    "TEMPORAL"
    "TO"
    "TOP"
    "CIERTO"
    "TRUNCATE"
    "TYPE"
    "SIN FIRMAR"
    "VALIDAR"
    "VALOR"
    "VALORES"
    "VER"
    "XML"
    "XMLSERIALIZE"
    "ZONA"
    "{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)
        en net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:26377)
        en net.sf.jsqlparser.parser.CCJSqlParser.PrimaryExpression(CCJSqlParser.java:11012)
        at net.sf.jsqlparser.parser.CCJSqlParser.BitwiseXor(CCJSqlParser.java:10671)
        en 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)
        en net.sf.jsqlparser.parser.CCJSqlParser.PrimaryExpression(CCJSqlParser.java:11005)
        at net.sf.jsqlparser.parser.CCJSqlParser.BitwiseXor(CCJSqlParser.java:10671)
        en 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)
        en com.baomidou.mybatisplus.extension.parser.JsqlParserSupport.parserSingle(JsqlParserSupport.java:49)
        ... 124 marcos comunes omitidos

Referencia de carácter de escape

   <                                 
                     <
                     Menor que el número                                          
                     >
                     >                                      
                     Más grande que el número
                     &
                     &
                     y
                     '
                     ’
                     apóstrofo
                     "
                     "
                     Comillas dobles


solución

Corrige la sentencia SQL en el archivo Mapper, la sentencia SQL incorrecta es la siguiente:


Tras la corrección





Anterior:Java Map es insensible a mayúsculas minúsculas al LinkedCaseInsensitiveMap de KEY
Próximo:Por qué no Win11 comprueba si el ordenador puede actualizar a Windows 11
Publicado el 6-9-2021 15:12:41 |
¿El nivel es demasiado bajo para ver el código?
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com