JDBC基础学习(一)

1.对JDBC本质的理解

JDBC

1.JDBC是什么?

JAVA DataBase Connectivity(java语言连接数据库)

2.JDBC的本质是什么?

JDBC是SUN公司制定的一套接口(interface) 在 java.sql.*

接口都有调用者和实现者,面向接口调用,面向接口写实现类,这都属于面向接口编程.

为什么 面向接口编程?

解耦合:降低程序的耦合度,提高程序的扩展力.

多态机制就是非常典型的:面向抽象编程(不要面向具体编程)

建议:

Animal a = new Cat();
 ​
  Animal b = new Dog();
 ​
  //public void feed(Animal a){ //面向父类型编程
 ​
 }

不建议:

Dog d = new Dog();
  Cat c = new Cat();

思考:为什么SUN制定一套JDBC接口呢?

因为每一个数据库的底层实现原理都不一样

Oracle数据库有自己的原理

MySQL数据库也有自己的原理

...

每一个数据库产品都有自己独特的实现原理

2.编写程序模拟JDBC的本质

先是SUN公司开发了一套JDBC连接数据库的接口,然后是数据库厂家去实现这个接口,底层去实现自己家不同的代码.我们是需要用哪个数据库直接调用哪个接口实现类就可以了.

JDBC接口类

/*
    SUN公司负责制定这套JDBC接口
 /
 public interface JDBC
 {
     /

     连接数据库的方法
     */
     void getConnection();
 }

Mysql实现类

/*
    MySQL的数据库厂家负责编写JDBC接口的实现类
 */
 public class MySQL implements JDBC
 {
     public void  getConnection() {
         //具体这里的代码怎么写,对于我们java程序员来说没关系
         //这段代码涉及到MySQL底层数据库的实现原理
         System.out.println("连接MySQL数据库成功!");
 ​
    }
 ​
 }

Oracle实现类

/**
  Oracle的数据库厂家负责编写JDBC接口的实现类
  */
 public class Oracle implements JDBC{
     public void  getConnection() {
         //具体这里的代码怎么写,对于我们java程序员来说没关系
         //这段代码涉及到Oracle底层数据库的实现原理
         System.out.println("连接Oracle数据库成功!");
 ​
    }
 ​
 }//实现类被称为驱动

jdbc.properties文件

这个是配置文件以后我们使用框架时也是会生成不同的数据库配置文件,去进行连接.这里只是简单模拟一下文件中的内容.

className=MySQL

程序开发:

我们通过反射机制去读取jdbc配置文件中的数据内容,这样只需要修改配置文件中我们想要连接哪个数据库就可以了,java代码程序是不需要修改的,

import java.util.*;
 public class JavaProgrammer
 {
     public static void main(String[] args) throws Exception{
         //JDBC jdbc = new MySQL();
         //JDBC jdbc = new Oracle();
         //创建对象可以通过反射机制
         ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
         String className = bundle.getString("className");
         Class c = Class.forName(className);
         JDBC jdbc = (JDBC) c.newInstance();
 ​
         //以下代码都是面向接口调用方法,不需要修改
         jdbc.getConnection();
    }
 ​
 }

测试运行,这里我们使用的是通过窗口命令去编译运行.

进来之后

image-20220621224736488

*输入窗口编译命令:javac .java

这个*.java是编译目录中的所有java文件,编译成.class文件,用的时候还是需要注意一下

错误的输入:可能会学mysql后面加;分号,这里加入会报错

image-20220621225117398

*正确的输入javac .java

image-20220621225205847

查看一下本地目录有没有生成.class文件

image-20220621225312838

运行JavaProgrammer,输入窗口运行命令java JavaProgrammer 回车即可.

这样我们就连接到mysql数据库了.

3.将驱动jar配置到环境变量classpath中

JDBC本质到底是什么? 一套接口**

JDBC开发前的准备工作,先从官网下载对应的jar包,然后将其配置到环境变量classpath当中.

我们在自己电脑上找到以前配置JDK的方式路径下

配置一下就可以了,注意配置的时候 . 后面一定要先加一个;号再把下载的jar包路径复制过来,如果不带分号,运行别的程序会有问题.一定要注意,下面的jar路径根据自己下载的位置来就可以了.

以上的配置是针对于文本编辑器的方式开发.使用IDEA工具的时候,不需要配置以上的环境变量,IDEA有自己的配置方式.

4.JDBC编程六步

第一步:注册驱动(作用:告诉java程序,即将要连接的是哪个品牌的数据库)

第二部:获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完之后一定要关闭)

第三步:获取数据库连接(专门执行sql语句的对象)

第四步:执行SQL语句(DML,DQL...)

第五步:处理查询结果集(只有当第四步执行的是select语句的时候,才有这第五步处理查询结果集)

第六步:释放资源(使用完资源之后一定要关闭资源.java和数据库属于进程之间的通信,开启之后一定要关闭).

posted @ 2022-06-21 23:09  哩个啷个波  阅读(53)  评论(0)    收藏  举报