Java JDBC 提供了 java.sql.Driver、java.sql.DriverManager、javax.sql.DataSource 三个接口,另外还有不同类型的连接池技术,它们之间的关系是什么?下面就简单说一下。
java.sql.Driver:是 Java 提供的一个用来连接数据库的驱动接口,具体实现由各数据库厂商完成。常见的实现有:Mysql 的实现 com.mysql.jdbc.Driver。是真正获取数据库连接 Connection 的接口(类) 。
package java.sql;
public interface Driver {
Connection connect(String url, java.util.Properties info) throws SQLException;
...
}
java.sql.DriverManager:是 Java 提供的数据库驱动管理器,用来管理 java.sql.Driver 接口的实现。一般都是通过调用该接口的 getConnection() 或者其重载的方法来获取数据库连接。其底层也是通过调用 java.sql.Driver 接口的 connect() 方法来获取连接。
package java.sql;
public class DriverManager {
//用来存放所有注册的驱动集合
private final static CopyOnWriteArrayList<DriverInfo> registeredDrivers = new CopyOnWriteArrayList<>();
// Worker method c