//比较严谨操做数据库的代码 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(); } } } } }