早教吧 育儿知识 作业答案 考试题库 百科 知识分享

'org.springframework.jdbc.uncategorizedSQLException'couldnotbeinstantiated(用的是Ibatis)通过Spring的Hessain去调用数据库Oracle进行操作数据层用的是Ibatis语句-做查询的功能,但是出现了'org.springframework.jdb

题目详情
'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的字段都给一个默认值,这样这种低级错误就不会有了.分数还是给你呗
▼优质解答
答案和解析
出现这种异常,通常意味着指定类实例化失败,导致相关操作无法继续进行.具体到您的问题,由于异常显示于spring的jdbctemplate部分,所以很可能是相关spring包的版本与当前ibatis版本不符(也就是反射的某个API不匹配了),或者xml配置有错误,导致ioc不能正确反射某一具体类的实例造成的.个人建议您删除当前所有使用到的jar,而后从官网下载最新版本的相关jar替换,并且尝试debug相关模块,看看具体异常出现于何种操作的前后,有哪些部分读取了xml配置,并检查这些配置的反射结果是否正确,这样才能最终判定具体问题(如果是随机错误,则重点检查用到了if,switch等分支判定的部分).