学习java(二)-----关于jdbc连接的"擦屁股"问题

今天在某个blog 上看到一篇关于jdbc的数据库连接,当执行完后关闭的问题,被作者形容为"擦屁股",虽然有些不雅,但是给我印像颇深,而且这个问题很常见,所以将此记录下来:

当我们写java的数据库连接时,以连接到SQL Server 为例,

 

Class.forname( " net.sourceforge.jtds.jdbc.Driver " );
Connection con 
=  DriverManager.getConnection( " jdbc:jtds:sqlserver://localhost:1433/NorthWind " , " sa " , "" );

我们经常是打开了,到最后我们对数据库操作完后,却忘记了con.close();(这被作者称为"没有擦干净屁股")或者即使在正常情况下关闭了,可是出现异常的时候,却不能正在常关闭,所以要写到try{}catch{} finally{}中!

在那篇文章中看到了,以为最好方式是:代码如下:

 

import  java.sql. * ;

Class.forname(
" net.sourceforge.jtds.jdbc.Driver " );
final  Connection con  =  DriverManager.getConnection( " jdbc:jtds:sqlserver://localhost:1433/Northwind " , " sa " , "" );
try   {
      
final Statement stmt = con.createStatement();
      
try{
           
final ResultSet rs = stmt.executeQuery("select *  from products");
           
try{
                
while( rs.next() ) {
                             System.out.println( rs.getString(
2) );
                 }

           }
catch( Exception e){
                       e.printStackTrace();
             }
finally {
              rs.close();
            }

        }
catch(Exception e ){
             e.printStackTrace();
           }
finally{
               stmt.close();
            }

        }
catch ( Exception e) {
           e.printStackTrace();
           }
fianlly {
                    con.close();
         }

 

 从上面的代码看来,屁股肯定是"擦干净"了!哈哈~~~~~~~~~~~~~~~~~~~~~~~~`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值