要点:
1、类设计
2、单例模式
3、resultSet,Statement,Connection的关闭顺序以及异常捕获
1、工具类,不让其他类继承,所以是final;url,password,driver,class等常量信息
2、单例模式,饿汉模式和懒汉模式的区别,双重加锁
(1)单例模式三要素:静态私有的成员变量,私有构造方法,防止外部实例化,公共的获取方法
(2)饿汉模式,饥所以及时加载;懒汉模式,懒所以延迟加载;
3、打开顺序:Connection --> Statement(PreparedStatement) --> Result
关闭顺序: Result --> Statement --> Connection
package com.zhaoyp.jdbc.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public final class JdbcUtils { private static final String URL = "jdbc:mysql://localhost:3306/jdbc"; private static final String USERNAME = "root"; private static final String PASSWORD = "123"; private static final String DRIVER = "com.mysql.jdbc.Driver"; //延迟加载,需要new的时候才去new //懒汉模式,懒所以延迟加载 //饿汉模式,饿所以及时加载 // private static JdbcUtils instance = new JdbcUtils(); private static JdbcUtils instance = null; private JdbcUtils() { } // public static synchronized JdbcUtils getInstance() { // if(instance == null) { // instance = new JdbcUtils(); // } // return instance; // } //double-check public static JdbcUtils getInstance() { if(instance == null) { //class级别锁 synchronized (JdbcUtils.class) { if(instance == null) { instance = new JdbcUtils(); } } } return instance; } static { try { Class.forName(DRIVER); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static Connection getConnection() throws SQLException { return DriverManager.getConnection(URL, USERNAME, PASSWORD); } public static void free(ResultSet rs, Statement st, Connection conn) { try { if(rs!=null && !rs.isClosed()) rs.close(); } catch (Exception e) { System.out.println("异常。。"); } finally { try { if(st != null && !st.isClosed()) st.close(); } catch (Exception e) { System.out.println("st 异常"); } finally { try { if(conn != null && !conn.isClosed()) conn.close(); } catch (Exception e) { System.out.println("conn 异常"); } finally { System.out.println("程序结束"); } } } } }
相关推荐
Sybase ASE 16 jdbc驱动包 jdbc4-1.6.0_03_26972.jar
MySQL_for_JDBC,Oracle9i_for_JDBC,SQL_2000_for_JDBC,SQL_2005_for_JDBC数据库驱动架包.rar
常用_JDBC_驱动名字和_URL_列表
一个用servlet+jdbc做的增、删、改、查模块。
hibernate3_jdbc_spring3__tomcat6
greenplum java 驱动。版本:5.1.4. greenplum官方的驱动。 greenplum是postgresql集群支持。
Server_JDBC_Driver_20_EULA_CHS
关于SQL-Server的jdbc驱动程序,要利用java开发sql-server程序的朋友不可少啊
jdbc server + client
Java做的采用多种方式连接各种常用的数据库的程序。
JdbcUtil,是jdbc自己写了一个类,用它来封装具体的实现
关于jdbc对mysql的官方驱动程序,要使用java做数据库的朋友们必须了解的,就不多说了
JavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源...
Microsoft SQL Server JDBC Driver 3.0.JSP驱动。
JSP+JDBC_假分页\\1-JSP+JDBC_假分页_.wmv
本程序是用JAVA语言,基于图形界面的JDBC程序开发。是一个简单的学生信息管理系统,实现对学生信息的输出,查询,修改等简单操作。
编写图形界面程序,利用JDBC实现图书/同学通讯录/校园卡/团员/教师/学生管理系统。
一个使用JDBC的简单的用java连接Sybase数据库的例子
jdbc初识、1. 确定连接的数据库是哪一个? MySQL 2. 确定连接的数据库是在哪一个主机上, 数据库服务器的地址 3. 连接当前数据库的用户名 4. 对应用户名的密码
java编写的JDBC及其应用例子,适合java初学者学习jdbc