1.工厂模式,不同的数据库实现不同的Driver,产生不同的Connection去操作数据库.
2.通过Class.forName("com.xx.Driver").来加载Driver.Driver接口的同名实现类通过静态代码块将Driver实例注册到DriverManager中。
3.通过DriverManager.getConnection 选择注册的具体Driver实例来得到Connection实例。
//普通的jdbc操作
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class javaTest {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf-8";
String USER="root";
String PASSWORD="tiger";
//1.加载驱动程序
Class.forName("com.mysql.jdbc.Driver");//1
//2.获得数据库链接
Connection conn=DriverManager.getConnection(URL, USER, PASSWORD);//2
//3.通过数据库的连接操作数据库,实现增删改查(使用Statement类)
Statement st=conn.createStatement();
ResultSet rs=st.executeQuery("select * from user");
//4.处理数据库的返回结果(使用ResultSet类)
while(rs.next()){
System.out.println(rs.getString("user_name")+" "
+rs.getString("user_password"));
}
//关闭资源
rs.close();
st.close();
conn.close();
}
}
1)执行第一步的时候,会执行静态代码块把真正的Driver注册入DriverManager
mysql-connector-java-5.1.46.jar!\com\mysql\jdbc\Driver.class
第三方包引入了jdk提供的注册接口DriverManager.registerDriver
java.sql.DriverManager
2)
把注册的Driver 取出来。
用不同厂商实现的driver来connect获取Connection
其他资料: