`

JDBC封装

    博客分类:
  • JAVA
阅读更多
Java代码 复制代码
  1.   import java.sql.DriverManager;   
  2. import java.sql.ResultSet;   
  3. import java.sql.SQLException;   
  4. import java.sql.Statement;   
  5.   
  6. import java.sql.Connection;   
  7.   
  8. /**  
  9.  * JDBC辅助类  
  10.  *   
  11.  * @author jiangduxi  
  12.  *   
  13.  */  
  14. public final class JdbcUtils {   
  15.     private static String url = "jdbc:mysql://localhost:3306/jdbc"; //连接数据库连接   
  16.     private static String use = "root"// 登陆数据库用户名   
  17.     private static String password = "123456"//登陆数据库密码   
  18.   
  19.     private JdbcUtils() {   
  20.   
  21.     }   
  22.   
  23.     /**  
  24.      * 使用静态模块来进行注册驱动  
  25.      */  
  26.     static {   
  27.         // 1. 注册驱动   
  28.         try {   
  29.             Class.forName("com.mysql.jdbc.Driver");   
  30.         } catch (ClassNotFoundException e) {   
  31.             throw new ExceptionInInitializerError(e);   
  32.         }   
  33.     }   
  34.   
  35.     /**  
  36.      * 建立数据库连接  
  37.      *   
  38.      * @return 返回数据库连接  
  39.      * @throws SQLException  
  40.      */  
  41.     public static Connection getConnection() throws SQLException {   
  42.         return DriverManager.getConnection(url, use, password);   
  43.     }   
  44.   
  45.     /**  
  46.      * 释放数据资源  
  47.      *   
  48.      * @param rs  
  49.      * @param st  
  50.      * @param conn  
  51.      */  
  52.     public static void free(ResultSet rs, Statement st, Connection conn) {   
  53.         try {   
  54.             if (rs != null)   
  55.                 rs.close();   
  56.         } catch (SQLException e) {   
  57.             e.printStackTrace();   
  58.         } finally {   
  59.             try {   
  60.                 if (st != null)   
  61.                     st.close();   
  62.             } catch (SQLException e) {   
  63.                 e.printStackTrace();   
  64.             } finally {   
  65.                 if (conn != null)   
  66.                     try {   
  67.                         conn.close();   
  68.                     } catch (SQLException e) {   
  69.                         e.printStackTrace();   
  70.                     }   
  71.             }   
  72.         }   
  73.     }   
  74.   
  75. }  
  import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import java.sql.Connection;

/**
 * JDBC辅助类
 * 
 * @author jiangduxi
 * 
 */
public final class JdbcUtils {
	private static String url = "jdbc:mysql://localhost:3306/jdbc"; //连接数据库连接
	private static String use = "root"; // 登陆数据库用户名
	private static String password = "123456"; //登陆数据库密码

	private JdbcUtils() {

	}

	/**
	 * 使用静态模块来进行注册驱动
	 */
	static {
		// 1. 注册驱动
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			throw new ExceptionInInitializerError(e);
		}
	}

	/**
	 * 建立数据库连接
	 * 
	 * @return 返回数据库连接
	 * @throws SQLException
	 */
	public static Connection getConnection() throws SQLException {
		return DriverManager.getConnection(url, use, password);
	}

	/**
	 * 释放数据资源
	 * 
	 * @param rs
	 * @param st
	 * @param conn
	 */
	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 {
				if (conn != null)
					try {
						conn.close();
					} catch (SQLException e) {
						e.printStackTrace();
					}
			}
		}
	}

}


下面看看怎么在Add操作中使用该上面的封装类吧!
该AddData方法是用于对user表进行简单的添加操作

Java代码 复制代码
  1. public static void AddData() throws SQLException{   
  2.   Connection conn = null  
  3.   Statement st = null;   
  4.   ResultSet rs = null;   
  5.   try{   
  6.        //建立连接   
  7.        conn = JdbcUtils.getConnection();   
  8.        //创建sql语句   
  9.        st = conn.createStatement();   
  10.        String sql = "INSERT INTO user(name,birthday,money)VALUES('XXXXX','1985-05-19','500.99')";   
  11.        //执行SQL语句   
  12.       int i = st.executeUpdate(sql);   
  13.   
  14.    }finally {   
  15.      JdbcUtils.free(rs, st, conn);   
  16.   }   
  17. }  
 public static void AddData() throws SQLException{
   Connection conn = null
   Statement st = null;
   ResultSet rs = null;
   try{
        //建立连接
        conn = JdbcUtils.getConnection();
        //创建sql语句
        st = conn.createStatement();
        String sql = "INSERT INTO user(name,birthday,money)VALUES('XXXXX','1985-05-19','500.99')";
        //执行SQL语句
       int i = st.executeUpdate(sql);

    }finally {
      JdbcUtils.free(rs, st, conn);
   }
 }


其他的Update、Delete、Search方法都类似。就不给出方法了。
一般的JDBC的步骤是

引用

1. Class.forName()进行注册驱动
2. getConnection() 获取连接
3. 创建SQL语句
4. 执行SQL语句
5. 释放资源


在上述的步骤中尤其要注意释放资源。而且在释放资源的时候尤其要注意,当参数传过来的含有未释放的参数。这个释放资源一般属于慢性病。如果你忘记了,那么系统会慢慢的死掉。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics