读书人

JDBC 建立联接公共操作类(静态方式与

发布时间: 2012-08-16 12:02:15 作者: rapoo

JDBC 建立连接公共操作类(静态方式与单例方式)

静态方式package com.ighost.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** *  * 数据库操作公共类 *  * @author ghost *  */public final class JDBCUtil { private static String url = "jdbc:mysql://localhost:3306/jdbc"; private static String username = "root"; private static String password = ""; // 构造函数私有话 不允许构造 private JDBCUtil() { } // 注册驱动 static {  try {   Class.forName("com.mysql.jdbc.Driver");  } catch (ClassNotFoundException e) {   throw new ExceptionInInitializerError(e);  } } // 获取连接 public static Connection getConnection() throws SQLException {  return DriverManager.getConnection(url, username, password); } // 释放资源 public static void free(ResultSet rs, Statement stmt, Connection conn) {  try {   if (rs != null) {    rs.close();   }  } catch (SQLException e) {   e.printStackTrace();  } finally {   try {    if (stmt != null) {     stmt.close();    }   } catch (SQLException e) {    e.printStackTrace();   } finally {    try {     if (conn != null) {      conn.close();     }    } catch (SQLException e) {     e.printStackTrace();    }   }  } }}单例方式package com.ighost.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** *  * 数据库操作公共类 单例模式 虚拟机里只存在一个这样的实例 通过getInstance方式获取对象 *  * @author ghost *  */public final class JDBCUtilSingle { private String url = "jdbc:mysql://localhost:3306/jdbc"; private String username = "root"; private String password = ""; // 构造函数私有话 不允许构造 private JDBCUtilSingle() { } // 构造私有实例 // private static JDBCUtilSingle instance = new JDBCUtilSingle(); private static JDBCUtilSingle instance = null; public static JDBCUtilSingle getInstance() {  //延迟加载    if (instance == null) {   //加锁 防止线程并发   synchronized (JDBCUtilSingle.class) {    //必须有的判断    if(instance == null){     instance = new JDBCUtilSingle();     }        }     }  return instance; } // 注册驱动 static {  try {   Class.forName("com.mysql.jdbc.Driver");  } catch (ClassNotFoundException e) {   throw new ExceptionInInitializerError(e);  } } // 获取连接 public Connection getConnection() throws SQLException {  return DriverManager.getConnection(instance.url, instance.username,    instance.password); } // 释放资源 public static void free(ResultSet rs, Statement stmt, Connection conn) {  try {   if (rs != null) {    rs.close();   }  } catch (SQLException e) {   e.printStackTrace();  } finally {   try {    if (stmt != null) {     stmt.close();    }   } catch (SQLException e) {    e.printStackTrace();   } finally {    try {     if (conn != null) {      conn.close();     }    } catch (SQLException e) {     e.printStackTrace();    }   }  } }}
?

读书人网 >其他数据库

热点推荐