在java web 开发中,有个关于jdbc的操作的细节问题应该要注意,不然问题就会很麻烦。通常操作数据库会有如下代码
try{
class.forName("数据库驱动程序名");
Connection con=DriverManager.getConnection("数据库连接字符串");
Statement sta=con.createStatement();
String sql="sql 语句";
ResultSet rs=sta.excuteUpdate(sql)//或其他方法;
rs.close();
sta.close();
con.close();
}catch(SqlException){
异常处理
}
有些同学有可能会这样写,如果在rs.close()前面加入如下代码:
String s=null;
s.equals("nihao");
那么在con关闭之前程序就会抛出异常,暂停执行,con就得不到关闭,这样极容易造成数据库崩溃。
合理的做法是再添加finally{}语句块,因为finally语句块一定会执行的,把con.close()放在这里安全多了。