'org.springframework.jdbc.uncategorizedSQLException 'could not be instantiated (用的是Ibatis)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了'org.springframework.jdbc.uncategorizedSQLException 'could not be instantiated (用的是Ibatis)相关的知识,希望对你有一定的参考价值。
通过Spring的Hessain去调用数据库Oracle进行操作【数据层用的是Ibatis语句- 做查询的功能】,但是出现了'org.springframework.jdbc.uncategorizedSQLException 'could not be instantiat的错误。但是其他同样是查询功能的Ibatis没有问题。而且这个错误的出现有时候报错,有时候又正常。数据库中的数据都是一样的。
问题解决了,原因是数据中的Number类型字段没有给初始值,而用iBatis映射时用的是String类型。所以造成映射错误。所以为了避免这种现象数据库表中的Number的字段都给一个默认值,这样这种低级错误就不会有了。 嘿嘿 分数还是给你呗 !!
出现这种异常,通常意味着指定类实例化失败,导致相关操作无法继续进行。
1. 首先加入hessain.jar包。
2. 如果是服务端需要配置web.xml。
3. 服务端hessain.-web.xml配置。
4. 客户端调用openService。
5客户端只要openService的interface。
参考技术A 出现这种异常,通常意味着指定类实例化失败,导致相关操作无法继续进行。具体到您的问题,由于异常显示于spring的jdbctemplate部分,所以很可能是相关spring包的版本与当前ibatis版本不符(也就是反射的某个API不匹配了),或者xml配置有错误,导致ioc不能正确反射某一具体类的实例造成的。个人建议您删除当前所有使用到的jar,而后从官网下载最新版本的相关jar替换,并且尝试debug相关模块,看看具体异常出现于何种操作的前后,有哪些部分读取了xml配置,并检查这些配置的反射结果是否正确,这样才能最终判定具体问题(如果是随机错误,则重点检查用到了if,switch等分支判定的部分)。本回答被提问者和网友采纳 参考技术B 谢谢楼主的提示。我的问题是字数超过了改字段的限制包 org.springframework.cloud.netflix.zuul 不存在
【中文标题】包 org.springframework.cloud.netflix.zuul 不存在【英文标题】:package org.springframework.cloud.netflix.zuul does not exist 【发布时间】:2020-08-21 23:15:35 【问题描述】:我正在将一些测试代码从较旧的 jHipster 项目转移到新项目。旧项目使用 org.springframework.cloud.netflix.zuul 库,具体为 org.springframework.cloud:spring-cloud-netflix-core:1.3.0.RELEASE 。
我将以下内容放在我的新项目的 pom.xml 中:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zuul</artifactId>
<version>1.3.0.RELEASE</version>
</dependency>
但是,它似乎正在拉入 org.springframework.boot:spring-boot:2.2.5.RELEASE。但是,此版本中不包含 zuul,因为此代码无法导入 org.springframework.cloud.netflix.zuul。
有人知道修复或解决方法吗?
旧图书馆。 org.springframework.cloud:spring-cloud-netflix-core:1.3.0.RELEASE
我的新项目正在使用 org.springframework.boot:spring-boot:2.2.5.RELEASE
更新: 抱歉,我更新了我的问题 - 我的 pom 文件已经包含此代码。但是对我来说很奇怪的是,即使我使用了 1.3.0,我也可以在我的 maven 依赖项中看到它正在引入 2.2.5。此外,当我右键单击我的项目时,我看到 maven - 重新导入和 maven - 生成源等。我没有看到更新项目。并且单击这两个似乎并没有将其降级到 1.3.0
【问题讨论】:
您为什么认为spring-boot
默认会包含spring-cloud-netflix-core
?看来你应该添加org.springframework.cloud:spring-cloud-starter-netflix-zuul:2.2.2.RELEASE
我相信 JHipster 已经从 Zuul 搬到了 Spring Cloud gateway github.com/jhipster/generator-jhipster/pull/11223
JHipster 仍然支持 Zuul,我们也支持 Spring Cloud Gateway。
【参考方案1】:
如果你更新你的 pom.xml 文件,你的问题就会解决。 在您的 pom.xml 文件中,您将看到添加所需库所需的依赖项标签,然后右键单击您的项目并说 maven -> update project
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix-core</artifactId>
<version>1.3.0.RELEASE</version>
</dependency>
</dependencies>
【讨论】:
以上是关于'org.springframework.jdbc.uncategorizedSQLException 'could not be instantiated (用的是Ibatis)的主要内容,如果未能解决你的问题,请参考以下文章
Consider defining a bean of type 'org.springframework.security.authentication.AuthenticationMana
'org.springframework.jdbc.uncategorizedSQLException 'could not be instantiated (用的是Ibatis)
无法找到'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder'类型的bean
【SpringBoot】Project 'org.springframework.boot:spring-boot-starter-parent:2.4.5' not found
解决: org.springframework.beans.factory.BeanNotOfRequiredTypeException
org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;chars