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有自己的配置方式
JDBC编程六步(需要背会)
- 注册驱动(告诉Java程序要连接的是哪个数据库)
- 获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完毕以后一定要关闭)
- 获取数据库操作对象(专门执行sq语句的对象)
- 执行sql语句(DQL DML...)
- 处理查询结果集(只有当第四步执行的是selcet语句的时候,才有第五步)
- 释放资源(使用完资源一定要关闭资源.进程间的通信,开启后一定要关闭)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。