JDBC–Java Database Connectivity(Java数据库连接)
JDBC就是SUN公司规定的一个开发接口,让各个数据库厂商去实现,制定相应的数据库驱动。
举例:sun公司提供接口
/**
* Sun制定了一套接口,各个数据库厂商需要根据我得规范去制定驱动
* */
public interface JDBC {
void getConnection();
}
各个厂商实现该接口,也就是数据库驱动
public class MySQL implements JDBC {
@Override
public void getConnection() {
System.out.println("连接MySQL成功!!!!");
}
}
public class Oracle implements JDBC{
@Override
public void getConnection() {
System.out.println("连接Oracle成功!!!!");
}
}
public class SqlServer implements JDBC{
@Override
public void getConnection() {
System.out.println("连接SqlServer成功!!!!");
}
}
程序员对接口进行调用
package database.jdbc;
import java.util.ResourceBundle;
public class JavaProgrammer {
public static void main(String[] args) throws IllegalAccessException, InstantiationException, ClassNotFoundException {
//1.原始方法
JDBC jdbc=new MySQL();
jdbc.getConnection();
//2.反射机制
Class c=Oracle.class;
JDBC jdbc1 = (JDBC)c.newInstance();
jdbc1.getConnection();
//3.从配置文件中读取
ResourceBundle resourceBundle=ResourceBundle.getBundle("jdbc");
String dataBaseName = resourceBundle.getString("DataBaseName");
Class cc = Class.forName("database.jdbc."+dataBaseName);
JDBC jdbc2 = (JDBC)cc.newInstance();
jdbc2.getConnection();
}
}
DataBaseName=SqlServer
注意: 在使用 Class.forName(“database.jdbc.”+dataBaseName);的时候,必须使用该类的全限定名,否则会报找不到类的异常。
Class.forName("全限定名")
jdbc编程六大步
1.注册数据库驱动(告知连接什么数据库)
2.获取连接(告知JVM进程和数据库进程的通道打开)
3.获取数据库操作对象(专门执行sql语句的对象)
4.执行SQL语句
5.处理查询结果集(只针对查询语句)
6.关闭资源