JDBC连接数据库完整代码!

设计一个工具类,用来注册驱动 。当然因为是工具类所以它要可以直接使用也不想让别人访问。定义类为final。成员变量和方法为static,并且是private。 package com.test;

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;

public final class DBUtils {

 private static String url = "jdbc:mysql://localhost:3306/test";

 private static String name = "root";

 private static String password = "root";

 private DBUtils() {  } //调用这个私有方法,他就会静态的执行下面的代码。  static {   try {    Class.forName("com.mysql.jdbc.Driver");//注册驱动   } catch (ClassNotFoundException e) {    e.printStackTrace();   }  }

 public static Connection getConnection() throws SQLException {   return DriverManager.getConnection(url, name, password);//连接数据库  }

 public static void release(ResultSet rs, Statement st, Connection conn) { //因为下面的内容是最后的释放资源,而且代码很多,每次地数据库操作都要用要到,就重构一下写个方法   try {    if (rs != null)//try catch保证捕捉异常。     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();     }    }   }  } }

 

利用上面的工具类来联系,jdbc。 package com.test;

import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;

public class Test {

 /**   * @param args   * @throws ClassNotFoundException   * @throws SQLException   */  public static void main(String[] args) throws ClassNotFoundException {   Connection conn = null;   Statement st = null;   ResultSet rs = null;//注意把变量的定义放在外面。   try {    conn = DBUtils.getConnection();    st = conn.createStatement();//创建执行SQL的语句(Statement)    String sql = "select * from test";    rs = st.executeQuery(sql); 1. 处理执行结果(ResultSet)

   while (rs.next()) {// 开始一行一行的扫描     System.out.println("id:" + rs.getInt("id"));     System.out.println("name:" + rs.getString("name"));     System.out.println("date:" + rs.getDate("test_date"));    }   } catch (SQLException e) {    e.printStackTrace();   } finally {    DBUtils.release(rs, st, conn);//释放资源   }  }

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值