//比較嚴謹操做數據庫的代碼 public static void Test2(){ Connection conn=null; Statement st=null; ResultSet rs=null; try { conn=JdbcUtil.getConnection();//使用工具類加載驅動 st=conn.createStatement(); rs=st.executeQuery("select * from users"); while (rs.next()) {//這裏用的是MYSQL的數據庫,裏邊已經建立了users的表 System.out.println(rs.getObject(1) + "\t" + rs.getObject(2) + "\t"+ rs.getObject(3) ); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally{ JdbcUtil.free(rs, st, conn);//調用工具類釋放資源,關閉數據庫鏈接 } } //這是一個工具類,用於保存管理員和密碼,異常處理和加載驅動等 public final class JdbcUtil { private static String url="jdbc:mysql://localhost:3306/test"; private static String user="root"; private static String password="846512890"; private JdbcUtil(){ } //使用靜態代碼塊,加載驅動只需一次就夠了 static { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block throw new ExceptionInInitializerError(e); } } public static Connection getConnection() throws SQLException{ return DriverManager.getConnection(url, user, password); } //最後全部資源釋放 public static void free(ResultSet rs,Statement st,Connection conn){ try{ if(rs!=null) rs.close(); }catch(SQLException e){ e.printStackTrace(); } finally { try{ if(st!=null); st.close(); }catch(SQLException e){ e.printStackTrace(); }finally{ try{ if(conn!=null) conn.close(); }catch(SQLException e){ e.printStackTrace(); } } } } }