错误如图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210102134213691.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2N6MTgwMzQ3MjYxMw==,size_16,color_FFFFFF,t_70)
代码如图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210102134336587.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2N6MTgwMzQ3MjYxMw==,size_16,color_FFFFFF,t_70)
原因:
在使用动态代理增强Connection连接对象的close方法时报错,但是之前使用mysql驱动没问题,更换为ojebc8时报如上错误,原因时由于数据库驱动不同,Connection.class.getInterfaces()返回的结果也不同,它返回的是一个Class[]数组,然而此数组的第一个元素必须是Connection才能把创建的代理类转为Connection对象,否则就会报错。
解决方法:
将Connection.class.getInterfaces(),替换为new Class[] { Connection.class }
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210102134744718.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2N6MTgwMzQ3MjYxMw==,size_16,color_FFFFFF,t_70)