JDBC小结
J2EE:13个技术点:servlet/JSP JDBC。。。
JDBC: Java DataBase Connectivity(Java数据库连接)
是一种技术规范
规范=(文档+接口)
容器下servlet-api.jar是容器厂商对servlet(javax.servlet.)技术的实现。(接口+容器厂商实现)
区分:
JDBC的规范的接口已经打到JDK的包中java.sql
数据库厂商对JDBC的实现 ---------> 数据库驱动程序。
JDBC2.0
JDBC4.0 Derby数据库驱动4.0
Oracle10g中的驱动class12.zip(jar)
Oracle11g中的驱动ojdbc5/6.jar
JDBC的实现原理:
class DriverManager
{
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,提供一个静态的方法,便于外界对象的调用
饿汉式单例设计模式
class Singleton
{
private Singleton() // 私有化构造器
{
}
private static Singleton s = new Singleton(); //创建一个自己的对象
public static Singleton getInstance()
//提供给外界一个访问的方法
{
return s;
}
}
懒汉式单例设计模式
class Singleton
{
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();