首页 > 数据库 >nbcio-boot升级到3.1后出现online表单新增报错       nbcio-boot升级springboot、mybatis-plus和JSQLParser后出现

nbcio-boot升级到3.1后出现online表单新增报错       nbcio-boot升级springboot、mybatis-plus和JSQLParser后出现

时间:2023-10-15 13:02:53浏览次数:40  
标签:web nbcio java boot springframework 升级 apache org ApplicationFilterChain


       nbcio-boot升级springboot、mybatis-plus和JSQLParser后出现新增online表单的时候报错,如下:

nbcio-boot升级到3.1后出现online表单新增报错       nbcio-boot升级springboot、mybatis-plus和JSQLParser后出现_spring

 

2023-08-13 21:18:01.292 [http-nio-8080-exec-12] [1;31mERROR[0;39m [36mo.jeecg.common.exception.JeecgBootExceptionHandler:69[0;39m - 
Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.jeecg.common.util.dynamic.db.DbTypeUtils.dbTypeIsSqlServer
(Lcom/baomidou/mybatisplus/annotation/DbType;)Z
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: 
org.jeecg.common.util.dynamic.db.DbTypeUtils.dbTypeIsSqlServer(Lcom/baomidou/mybatisplus/annotation/DbType;)Z
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1087)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:528)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
	at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
	at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
	at org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:88)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:458)
	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:373)
	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:370)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
	at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:389)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoSuchMethodError: org.jeecg.common.util.dynamic.db.DbTypeUtils.dbTypeIsSqlServer(Lcom/baomidou/mybatisplus/annotation/DbType;)Z
	at org.jeecg.modules.online.config.d.e.a(DbTableUtil.java:260)
	at org.jeecg.modules.online.config.d.e.a(DbTableUtil.java:223)
	at org.jeecg.modules.online.cgform.c.a.a(OnlCgformApiController.java:118)
	at org.jeecg.modules.online.cgform.c.a$$FastClassBySpringCGLIB$$b70991a.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)
	at org.jeecg.modules.online.cgform.c.a$$EnhancerBySpringCGLIB$$3c4f7e63.a(<generated>)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)
	... 72 common frames omitted

看跟org.jeecg.common.util.dynamic.db.DbTypeUtils.dbTypeIsSqlServer相关

修改DbTypeUtils文件如下后修改这个bug:

package org.jeecg.common.util.dynamic.db;

import com.baomidou.mybatisplus.annotation.DbType;
import org.jeecg.common.constant.DataBaseConstant;

import java.util.HashMap;
import java.util.Map;

/**
 * 数据库类型判断
 * 【有些数据库引擎是一样的,以达到复用目的】
 */
public class DbTypeUtils {

    public static Map<String, String> dialectMap = new HashMap<String, String>();
    static{
        dialectMap.put("mysql", "org.hibernate.dialect.MySQL5InnoDBDialect");
        // mariadb数据库 1  --
        dialectMap.put("mariadb", "org.hibernate.dialect.MariaDBDialect");
        //oracle数据库 1
        dialectMap.put("oracle", "org.hibernate.dialect.OracleDialect");
        // TODO 没找到不确定
        dialectMap.put("oracle12c", "org.hibernate.dialect.OracleDialect");
        // db2数据库 1xx
        dialectMap.put("db2", "org.hibernate.dialect.DB2390Dialect");
        // H2数据库
        dialectMap.put("h2", "org.hibernate.dialect.HSQLDialect");
        // HSQL数据库  1
        dialectMap.put("hsql", "org.hibernate.dialect.HSQLDialect");
        //SQLite数据库 应用平台mobile
        dialectMap.put("sqlite", "org.jeecg.modules.online.config.dialect.SQLiteDialect");
        //PostgreSQL数据库1  --
        dialectMap.put("postgresql", "org.hibernate.dialect.PostgreSQLDialect");
        dialectMap.put("sqlserver2005", "org.hibernate.dialect.SQLServer2005Dialect");
        //sqlserver数据库1
        dialectMap.put("sqlserver", "org.hibernate.dialect.SQLServerDialect");
        //达梦数据库 [国产] 1--
        dialectMap.put("dm", "org.hibernate.dialect.DmDialect");
        //虚谷数据库
        dialectMap.put("xugu", "org.hibernate.dialect.HSQLDialect");
        //人大金仓 [国产] 1
        dialectMap.put("kingbasees", "org.hibernate.dialect.PostgreSQLDialect");
        // Phoenix HBase数据库
        dialectMap.put("phoenix", "org.hibernate.dialect.HSQLDialect");
        // Gauss 数据库
        dialectMap.put("zenith", "org.hibernate.dialect.PostgreSQLDialect");
        //阿里云PolarDB
        dialectMap.put("clickhouse", "org.hibernate.dialect.MySQLDialect");
        // 南大通用数据库 TODO 没找到不确定
        dialectMap.put("gbase", "org.hibernate.dialect.PostgreSQLDialect");
        //神通数据库 [国产] TODO 没找到不确定
        dialectMap.put("oscar", "org.hibernate.dialect.PostgreSQLDialect");
        //Sybase ASE 数据库
        dialectMap.put("sybase", "org.hibernate.dialect.SybaseDialect");
        dialectMap.put("oceanbase", "org.hibernate.dialect.PostgreSQLDialect");
        dialectMap.put("Firebird", "org.hibernate.dialect.FirebirdDialect");
        //瀚高数据库
        dialectMap.put("highgo", "org.hibernate.dialect.HSQLDialect");
        dialectMap.put("other", "org.hibernate.dialect.PostgreSQLDialect");
    }

    public static boolean dbTypeIsMySql(DbType dbType) {
        return dbTypeIf(dbType, DbType.MYSQL, DbType.MARIADB, DbType.CLICK_HOUSE, DbType.SQLITE);
    }

    public static boolean dbTypeIsOracle(DbType dbType) {
        return dbTypeIf(dbType, DbType.ORACLE, DbType.ORACLE_12C, DbType.DM);
    }

    public static boolean dbTypeIsSqlServer(DbType dbType) {
        return dbTypeIf(dbType, DbType.SQL_SERVER, DbType.SQL_SERVER2005);
    }

    public static boolean dbTypeIsPostgre(DbType dbType) {
        return dbTypeIf(dbType, DbType.POSTGRE_SQL, DbType.KINGBASE_ES, DbType.GAUSS);
    }



    /**
     *  根据枚举类 获取数据库类型的字符串
     * @param dbType
     * @return
     */
    public static String getDbTypeString(DbType dbType){
        if(DbType.DB2.equals(dbType)){
            return DataBaseConstant.DB_TYPE_DB2;
        }else if(DbType.HSQL.equals(dbType)){
            return DataBaseConstant.DB_TYPE_HSQL;
        }else if(dbTypeIsOracle(dbType)){
            return DataBaseConstant.DB_TYPE_ORACLE;
        }else if(dbTypeIsSqlServer(dbType)){
            return DataBaseConstant.DB_TYPE_SQLSERVER;
        }else if(dbTypeIsPostgre(dbType)){
            return DataBaseConstant.DB_TYPE_POSTGRESQL;
        }
        return DataBaseConstant.DB_TYPE_MYSQL;
    }

    /**
     *  根据枚举类 获取数据库方言字符串
     * @param dbType
     * @return
     */
    public static String getDbDialect(DbType dbType){
        return dialectMap.get(dbType.getDb());
    }

    /**
     * 判断数据库类型
     */
    public static boolean dbTypeIf(DbType dbType, DbType... correctTypes) {
        for (DbType type : correctTypes) {
            if (type.equals(dbType)) {
                return true;
            }
        }
        return false;
    }

}

标签:web,nbcio,java,boot,springframework,升级,apache,org,ApplicationFilterChain
From: https://blog.51cto.com/u_15070324/7871386

相关文章

  • springboot结合shiro实战-身份认证
     目录环境搭建配置shiro环境总结hello,大家好,我们写任何企业级项目基本都会需要做权限,权限包含身份认证和授权。所谓身份认证,就是证明你是你。所谓授权就是明白你登录之后能干什么。现在,让我们用springboot项目入手,结合shiro框架来完成这一切。环境搭建基本信息:springboot版本:初始......
  • 升级Lync Server 2013到Skype for Business 2019(十一)
    写在前面本章将介绍如何将LyncServer2013旧有边缘服务,切换到新的SkypeforBusiness2019边缘服务器上。切换SkypeforBusiness2019服务器添加SkypeforBusiness2019服务器公网DNS。这些DNS主要包括如下内容:项目DNS配置类型IP外部访问access.contoso.comA公网IP地址外部Web会......
  • Debian系统无法升级的一个原因
    我用WSL安装了Debian12系统,无法升级,出现以下错误:yong@DESKTOP-D1TMKU9:~$sudoaptupdateIgn:1https://mirrors.tuna.tsinghua.edu.cn/debianbookwormInReleaseIgn:2https://mirrors.tuna.tsinghua.edu.cn/debianbookworm-updatesInReleaseIgn:3https://mirrors.tu......
  • Springboot 加密方案探讨
    背景toB的本地化java应用程序,通常是部署在客户机器上,为了保护知识产权,我们需要将核心代码(例如Lience,Billing,Pay等)进行加密或混淆,防止使用jadx等工具轻易反编译。同时,为了更深层的保护程序,也要防止三方依赖细节被窥探;业界方案ProGuard简介:开源社区有名的免费混淆工具,......
  • 测试springboot项目苍穹外卖,解决websocket“服务器错误,无法接收实时报警信息”问题
    使用IDEA启动springboot项目苍穹外卖后,http://localhost:8071/能够正常访问登录,但是网页右上角始终显示“服务器错误,无法接收实时报警信息”: 在网上搜索找到:https://blog.csdn.net/qq_65032048/article/details/132077097,发现可能是修改了nginx端口号为8071导致。解决办法:在n......
  • springboot启动时缓存数据
    一、Emos系统的常量数据在sys_config数据表中保存了Emos系统的常量配置信息,其中就包括了考勤部分的常量信息。例如每天上班考勤从几点开始,截止到几点。下班考勤从几点开始,几点结束。 因为这些常量信息跟考勤模块息息相关,所以我们要编写Java代码,在SpringBoot项目启动的......
  • Spring Boot 配置 Jackson
    什么是Jackson?有什么作用?Jackson是SpringBoot内置的Json解析框架,用来完成出入参的序列化和反序列化。通常,我们会在Controller类中方法上,加上 @RequestBody 或者 @ResponseBody 注解,SpringBoot会自动对出入参做Json解析与转换工作。注意:@RequestBody用于将......
  • Spring Boot 配置拦截器
    通过拦截器,我们可以针对特定URI做拦截,做相关业务处理,比如检查用户是否登录,打印每个请求的处理耗时等。一、新建一个拦截器新建登录验证类 LoginValidationInterceptor.java:packagesite.exception.springbootinterceptor.interceptor;importorg.springframework.lang.N......
  • 简单易用的Spring Boot邮件发送
    ......
  • Springboot中使用RabbitMq
    代码地址:https://gitee.com/Aes_yt/middleware-demo/tree/master/rabbitmq安装RabbitMq1.docker拉取镜像dockerpullrabbitmq:3.9.29-management2.创建rabbitmq容器dockerrun-d--namerabbitmq-p5672:5672-p15672:15672rabbitmq:3.9.29-management3.访问地......