Java DataBase Connectivity
本质是SUN公司制定的一套接口
java.sql.*;(这个软件包里面有许多接口)
接口都有调用者和实现者.
为什么要面向接口编程?
解耦合,降低程序的耦合度,提升程序的扩展力.
为什么sun制定一套JDBC接口?
因为每一个数据库的底层实现原理都不一样. 当sun公司制定了接口,各大数据库纷纷响应提供各自数据库对该JDBC接口的实现类 实现类jar包需要我们去各大数据库官网下载. 这些实现类也叫驱动 所有的数据库驱动都是以jar包的形式存在,jar包中包含许多.class文件
模拟JDBC的本质
//JDBC.java(JDBC接口) public interface JDBC { void getConnection(); } //MySql.java(MySql驱动) public class MySQL implements JDBC{ public void getConnection(){ System.out.println("连接MySQL数据库成功!"); } } //Oracle.java(Oracle驱动) public class Oracle implements JDBC{ public void getConnection(){ System.out.println("连接Oracle数据库成功!"); } } //JavaProgrammer.java(程序员面向接口写的程序)/ import java.util.*; public class JavaProgrammer { public static void main(String[] args) throws Exception{ //JDBC jdbc =new MySQL(); //JDBC jdbc =new Oracle(); //JDBC jdbc =new SqlServer(); //创建对象可以通过反射机制. ResourceBundle bundle = ResourceBundle.getBundle("jdbc"); String className = bundle.getString("className"); Class c = Class.forName(className); JDBC jdbc = (JDBC)c.newInstance(); jdbc.getConnection(); } } //jdbc.properties(配置文件) className=MySql
只用修改配置文件中的内容就可以修改程序所连接不同的数据库
不需要关心底层实现,面向接口调方法
JDBC开发前的准备工作,从官网下载对应的jar包,然后将其配置到环境变量classpath中.
.;E:mysql-connector-java-5.1.48mysql-connector-java-5.1.48-bin.jar
前面的.;不能漏掉
以上的配置是针对文本编辑器的方式开发,使用IDEA工具的时候,不需要配置以上的环境变量.
IDEA有自己的配置方式