JDBC小結 單例模式 靜態代碼塊
JDBC小結
JDBC: Java DataBase Connectivity(Java數據庫連接) 是一種技術規範
規範=(文檔+接口)
容器下servlet-api.jar是容器廠商對servlet(javax.servlet.)技術的實現。(接口+容器廠商實現)
區分:
JDBC的規範的接口已經打到JDK的包中java.sql數據庫廠商對JDBC的實現 ---------> 數據庫驅動程序。
JDBC2.0
JDBC4.0 Derby數據庫驅動4.0Oracle10g中的驅動class12.zip(jar)
Oracle11g中的驅動ojdbc5/6.jar
JDBC的實現原理:
{
pirvate static java.sql.Driver driver;
public static Connection getConnection(String url,String userName,String pwd)
{
return driver.connect(url,userName,pwd);
}
public static void registDriver(Driver d)
{
this.driver = d;
}
}
class OracleDriver implments java.sql.Driver
{
//靜態的代碼塊,在類加載進內存時就完成對對象的特殊的初始化(這個動作發生在類的構造器執行之前,也就是在沒有對象存在的情況下,靜態代碼
就已經完成了對對象的特殊的處理 ),此處的作用是,當Oracle的驅動器加載時,就自動創建一個自己。
static
{DriverManager.registDriver(new OracleDriver());
}
Connection connect(String url,String userName,String pwd)
{如何真實的和Oracle數據庫連接
}
}
Class.forName("oracle.jdbc.driver.OracleDriver"); // 運用反射技術,將Oracle的驅動(class文件)加進內
JDBC:是麵試重點,通常要你自己徒手寫一個JDBC的連接
設計模式之單例設計模式
使用單例設計模式設計的類的特點:
1,在內存中的對象隻有一個
2,構造函數私有化
3,提供一個靜態的方法,便於外界對象的調用
餓漢式單例設計模式
{
private Singleton() // 私有化構造器
{
}
private static Singleton s = new Singleton(); //創建一個自己的對象
public static Singleton getInstance() //提供給外界一個訪問的方法
{
return s;
}
}
懶漢式單例設計模式
{
private Singleton()
{
}
private static Singleton s = null; //此處沒有創建對象 而是在方法中創建的
public static synchronized Singleton getInstance()
{
if(s == null)
{
s = new Singleton();
}
return s;
}
}
// 使用單例模式
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
最後更新:2017-04-03 15:21:55