我看过很多人视频处理异常 可是我觉得都不严谨,比如下边列子 虽然在try关闭close的时候出现异常 也可以再finally中把他null 但是后边两个关闭的操作还会执行吗 不会的了 所以我把后面两个关闭 一个套一个 这样才能保证每一条语句都能执行 我也不知打我的方法是否正确 所以来问问大家 本人是菜鸟 所以很多地方表达不清楚 还请原谅
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestJDBC1 {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
try{
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取链接
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydp?user=root&password=root");
//3.获取传输器对象
stat = conn.createStatement();
//4.利用传输器对象执行命令并且返回结果集
rs = stat.executeQuery("select * from person");
//5.遍历结果集
while(rs.next()){
String name = rs.getString("name");
System.out.println(name);
}
//关闭链接
}catch(Exception e){
e.printStackTrace();
}finally{
try{
rs.close();
}catch(Exception e){
e.printStackTrace();
}finally{
rs = null;
try{
stat.close();
}catch(Exception e){
e.printStackTrace();
}finally{
stat = null;
try{
conn.close();
}catch(Exception e){
e.printStackTrace();
}finally{
conn = null;
}
}
}
}
}
}
|
|