搜尋

首頁  >  問答  >  主體

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

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

伊谢尔伦伊谢尔伦2807 天前856

全部回覆(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
  • 取消回覆