java 中声明PreparedStatement类时出错(导入包:java.sql.*):The resource type PreparedStatement does not implement java.lang.AutoCloseable
小伙看你根骨奇佳,潜力无限,来学PHP伐。
PreparedStatement的原型是public interface PreparedStatement extends Statement ,是一个接口,你需要实现所有的接口啊
需要你提供出错行的代码才能确定。很可能你有这么几行代码:
try( PreparedStatement pstmt = conn.prepareSatement("select ..."); ){ ... }
这里你使用了Java最近版本加入的try-with-resource语法。这个语法要求小括号内定义的变量是先Closeable接口。如果你用的PreparedSatement所在的类库比较旧,可能没有实现这个接口。
可能你使用的语法超出了你引用的JRE类库的版本。
一看报错就是用了jdk7的try with resources的语法,try括号里面的资源得是实现了AutoCloseable,而PrepareStatement没有实现AutoCloseable接口,换种用法吧,try-finally
PreparedStatement的原型是public interface PreparedStatement extends Statement ,是一个接口,你需要实现所有的接口啊
需要你提供出错行的代码才能确定。很可能你有这么几行代码:
try(
PreparedStatement pstmt = conn.prepareSatement("select ...");
){
...
}
这里你使用了Java最近版本加入的try-with-resource语法。这个语法要求小括号内定义的变量是先Closeable接口。如果你用的PreparedSatement所在的类库比较旧,可能没有实现这个接口。
可能你使用的语法超出了你引用的JRE类库的版本。
一看报错就是用了jdk7的try with resources的语法,try括号里面的资源得是实现了AutoCloseable,而PrepareStatement没有实现AutoCloseable接口,换种用法吧,try-finally