JDBC初接触

我们常说数据库数据库,里面有个概念就是数据库管理系统(DBMS),一般也被大家简称为数据库。

数据库服务器软件(数据库管理系统)=多个数据库
一个数据库=多张表

(引用一个直观的例子)
可以这么看,数据库管理系统是外界操作数据库的接口,DBMS相当于封装并提供了数据库的环境,因此数据库管理系统是各式各样的。那么Java要使用数据库去存储组织数据就要连接不同厂商的数据库管理系统。但是因为DBMS众多,每个系统都有自己“语言”和管理模式,那么Java就提供了一套规范让大家来遵守

JDBC是什么?

它存在的目的就是让程序员能够在Java代码中操作数据库。

  • 在意义上,它是一套数据库操作规范:

    Java设计者规定了一套操作的规范
    =>用户这么写代码就能实现对数据库的相应操作

    而数据库系统厂商遵守这个规范
    =>把原来对数据库相应操作的代码封装成符合这个规范的样子

  • 在代码上,它就是一些接口和
    不要忽略它还有许多类,它不仅仅只有接口,它还有一些辅助的类。java基础库里面,java.sql就有很多接口和类,Connection是接口,DriverManager就是类

JDBC怎么开始用?

  1. 下载对应DBMS的JDBC,然后把这个jar包或者说是依赖,添加到项目中。
  2. 加载Driver
String driverName = "java.mysql.jdbc.Driver"
Class.forName(driverName)

先解释下,这两句是强制加载类Driver,可以看到Driver类是我们从mysql下载下来的JDBC来的。因为程序并不会显示调用Driver类就不会自动加载,但是我们又不能少了Driver类,因此把它强制加载。

  1. 获得连接
String connectString= "jdbc:mysql://localhost....省略
Connection connection = DriverManager.getConnection(connectString);

前一句比较好理解,就是要连接的数据库是哪个
后一句是需要获得Connection对象,因为本身connection是接口来的不能new,那么我一开始非常奇怪getConnection是java.sql.DriverManager里面的一个静态方法怎么能够根据我下载的mysql的JDBC去找相应的数据库呢,原来啊,在上一步加载Driver的过程中,就已经在DriverManager类里面注册了相应的驱动了。

// oracle.jdbc.driver.OracleDriver
static{
...
 if (defaultDriver == null) {
                defaultDriver = new oracle.jdbc.OracleDriver();
                DriverManager.registerDriver(defaultDriver);
  }

总结

  1. JDBC存在的目的就是让程序员能够在Java代码中操作数据库。
  2. Java.sql.*里面也有普通类,不仅仅是接口
  3. 必须要加载下载的jdbc中的jdbc驱动,才能从DriverManager类中获得connection对象

你可能感兴趣的:(JDBC初接触)