//比较严谨操作数据库的代码
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();
}
}
}
}
}
转载于:https://my.oschina.net/u/1461277/blog/271531