찾다

 >  Q&A  >  본문

mysql - java 中声明PreparedStatement类时出错(导入包:java.sql.*)

java 中声明PreparedStatement类时出错(导入包:java.sql.*):The resource type PreparedStatement does not implement java.lang.AutoCloseable

伊谢尔伦伊谢尔伦2768일 전814

모든 응답(3)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-17 13:37:41

    PreparedStatement的原型是public interface PreparedStatement extends Statement ,是一个接口,你需要实现所有的接口啊

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-17 13:37:41

    需要你提供出错行的代码才能确定。很可能你有这么几行代码:

    try(
    PreparedStatement pstmt = conn.prepareSatement("select ...");
    ){
    ...
    }

    这里你使用了Java最近版本加入的try-with-resource语法。这个语法要求小括号内定义的变量是先Closeable接口。如果你用的PreparedSatement所在的类库比较旧,可能没有实现这个接口。

    可能你使用的语法超出了你引用的JRE类库的版本。

    회신하다
    0
  • 迷茫

    迷茫2017-04-17 13:37:41

    一看报错就是用了jdk7的try with resources的语法,try括号里面的资源得是实现了AutoCloseable,而PrepareStatement没有实现AutoCloseable接口,换种用法吧,try-finally

    회신하다
    0
  • 취소회신하다