JDBC全称Java Database Connectivity,是Java官方定义的一套连接数据库的规范,里面包括各种API,其中最重要的就是关于如何获取数据库连接Connection的方法:
① 直接调用DriverManager类的getConnection方法
② 实现DataSource接口,调用实例的getConnection方法
DriverManager
初学JDB,首先都会接触以下的代码,就是先注册相应数据库的JDBC Driver,然后通过JDBC DriverManager获取数据库连接,之后从连接中执行SQL语句。
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(DB_URL,USER,PASS);
Statement stmt = conn.createStatement();
String sql;
sql = "SELECT id, first, last, age FROM Employees";
ResultSet rs = stmt.executeQuery(sql);
...
JDBC规范规定Driver类在加载时必须向DriverManager类注册自己的实例,例如MySQL实现的Driver类在类加载的时候执行static代码块,将Driver实例注册在DriverManager类中,DriverManager类会维护一个CopyOnWriteArrayList来保存所有被注册的Driver。