sun公司提出标准,让各大数据库厂商遵循这个规则;

这个标准就叫jdbc,其实就是对类的规范,接口就是对类的规范,jdbc就是提供了一堆的接口;

各大数据库厂商提供各自的实现类,而这个实现类我们叫做驱动类;

jdbc提供的驱动接口是java.sql.Driver;

package cn.code.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.junit.Test;
/**
 * jdbc原理:
 * 
 * */
public class NumberTwo {
    @Test
    public void fun1(){
        String url = "jdbc:mysql://localhost:3306/mydb1";
        String driverclassname="com.mysql.jdbc.Driver";
        String username="root";
        String password="123";
        //加载驱动类,实际上是注册驱动,所有的java.sql.Driver的实现类,都提供了static块,
        //块内的代码就是把自己注册到DriverManager中!
        //调用DriverManager的registDriver(new Driver());方法
        try {
            //Class.forName(driverclassname);相当于执行下面两句,源码中有一个静态代码块,帮我们执行了registDriver(driver);方法
            //jdbc4.0之后每个驱动jar包中,在METE-INF/service目录下提供了一个名为java.sql.Driver的文件。文件的内容就是该接口的实现类名称;
            //会自动扫描加载类名,不需要手动加载;但是为了兼容来版本,最好还是写上
            com.mysql.jdbc.Driver d = new com.mysql.jdbc.Driver();
            DriverManager.registerDriver(d);
            
            Connection con = DriverManager.getConnection(url, username, password);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}