菜鸟送分了,关于jdbc连接类的问题
我写了个jdbc连接类,如下: 
 public   class   MySqlConn   { 
 	public   Connection   conn   =   null; 
 	public   Statement   stmt   =   null; 
 	public   ResultSet   rs   =   null;	 
 	public   PreparedStatement   pstmt=null;   
 	public   MySqlConn(){ 
 		try{ 
 			Class.forName( "org.gjt.mm.mysql.Driver "); 
 			conn=DriverManager.getConnection( "jdbc:mysql://localhost:3306/invertedindex?autoReconnect=true ", "root ", "sa "); 
 			stmt=conn.createStatement();			 
 		} 
 		catch(Exception   e){ 
 			e.printStackTrace(); 
 		} 
 	}  	 
 	public   ResultSet   executeQuery(String   sql)   throws   Exception   { 
 		rs   =   stmt.executeQuery(sql); 
                         return   rs; 
             }	 
 	public   void   closeResultSet(){ 
 		if(this.rs!=null){ 
 			try{ 
 				this.rs.close(); 
 			}catch(
SQLException   e){ 
 				e.printStackTrace(); 
 			} 
 		} 
 	}  	 
 	public   void   closePreparedStatement(){ 
 		if(pstmt!=null){ 
 			try{ 
 				pstmt.close(); 
 			} 
 			catch(SQLException   e){ 
 				e.printStackTrace(); 
 			} 
 		} 
 	} 
 	public   void   closeStatement(){		 
 		if(stmt!=null){ 
 			try{ 
 				stmt.close(); 
 			}catch(SQLException   e){ 
 				e.printStackTrace(); 
 			} 
 		}				 
 	} 
 	public   void   closeConn(){ 
                                                                                  if(conn!=null){ 
 			try{ 
 				conn.close(); 
 			} 
 			catch(SQLException   e){ 
 				e.printStackTrace(); 
 			} 
 		} 
 } 
 在主函数里我作如下操作: 
 public   static   void   main(String[]   args)   throws   Exception   { 
 		MySqlConn   mysql=new   MySqlConn(); 
 		String   sql= "select   DocId   from   doc ";	 
 		while(mysql.executeQuery(sql).next()){ 
 			System.out.println(mysql.executeQuery(sql).getInt( "DocId ")); 
 		} 
 		mysql.closeResultSet(); 
 		mysql.closeStatement(); 
 		mysql.closeConn(); 
 		if(mysql.conn!=null){ 
 			System.out.print(true); 
 		}   
 	} 
 像上面那样直接while(mysql.executeQuery(sql).next())是不对的,那我应该怎样用连接类里写的那个返回结果集的方法呢?还有在做了关闭ResultSet,关闭Statement,和Conn后为什么Statement,Conn等并没有真正close掉?这个连接类到底应该怎么写?先在这里谢过
------解决方案--------------------while(mysql.executeQuery(sql).next()) 是肯定不对啦。因为它每次都是去用Statement去执行sql一次。而不是说指针往下走。你这应该是个死循环吧。除非那个sql一行数据也查不出来。 
 这个问题解决了,再说关闭ResultSet,关闭Statement,和Conn的那个问题吧。 
 还有问题的话,贴错误信息
------解决方案--------------------ResultSet rs = mysql.executeQuery(sql); 
 while(rs.next()) 
 { 
 	System.out.println(rs.getInt( "DocId ")); 
 }   
 rs.close(); 
 mysql.closeStatement(); 
 mysql.closeConn(); 
 ------------------------ 
 public void closeConn(){ 
                            if(conn!=null){ 
 			try{ 
 				conn.close(); 
 				conn = null;//关闭加这句 
 			} 
 			catch(SQLException e){ 
 				e.printStackTrace(); 
 			} 
 		} 
 }
------解决方案--------------------理论来讲statement关了以后,那么他的 smt应该==null。其他类似。