数据库JDBC的改进做法
数据库JDBC的改进做法
lindaliving 发表于4年前
数据库JDBC的改进做法
  • 发表于 4年前
  • 阅读 64
  • 收藏 3
  • 点赞 0
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

摘要: 在java web视频中看到关于数据库操作的一些改进写法,这次在实验中也用到了。
  //比较严谨操作数据库的代码
  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();
    }
   }
  }
 }
}

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 1
博文 10
码字总数 3043
×
lindaliving
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: