先关闭resultset
再关闭statement
最后关闭connection每个都对应着释放database里的资源

解决方案 »

  1.   

    哦 ,那每次close的时候分别释放的是哪里的资源?
      

  2.   

    我mysql老是报to many connection 应该是这个原来了,我连接用的是单键模式,
    public class DB {

    private String userName;
    private String password;
    private  Connection conn;

     private static DB uniqueInstance = null;




    private  DB() throws ClassNotFoundException, SQLException
    {

    this.conn = this.connect();


    }

    public static DB instanse()
    {

    if(uniqueInstance==null)
    {
    try {
    uniqueInstance = new DB();
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

    return uniqueInstance;

    }

    private Connection connect() throws ClassNotFoundException, SQLException
    {

    Class.forName("com.mysql.jdbc.Driver");
    String url ="jdbc:mysql://localhost:3306/test";


     conn = DriverManager.getConnection(url,"root","");
     
          return conn;


    }Statement 使用的时候没关闭,ResultSet查询完关闭。
      

  3.   

    是啊 ,PHP里面就没这么麻烦。我以前做PHP的。每个都对应着释放database里的资源 ,那么对应哪些资源呢?