...cannot be cast to java.sql.Connection错误

发布网友 发布时间:2024-10-23 08:32

我来回答

2个回答

热心网友 时间:5分钟前

Connection.getInterfaces() 与数据库驱动有关,数据库驱动不同 Connection.getInterfaces() 的结果也就不同,Connection.getInterfaces() 返回的是 Class[] 数组,此数组的第一个元素必须是Connection才能把创建的代理类转为Connection对象,否则就会报:Java.lang.ClassCastException。因为Connection本身就是一个接口,它的字节码符合第二个参数要求,把conn.getClass().getInterfaces();改成new Class[]{Connection.class}就可以了。

热心网友 时间:3分钟前

你这个是类转换错误,就是说,

com.sun.proxy.$Proxy4 不能转换为 java.sql.Connection 

原因是:

java 中两个类类型要想相互转换,只能向上转(子类可以转为父类类型),但是不能向下转

两个不是同一个继承树上的类型不能转换

解决方法:

你要确定是否 类:$Proxy4 和 Connection 是同一类型,

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com