JDBC


JDBC

Java Database Connectivity / JDBC

1.本质

sun公司制定的一套接口(interface)

接口都有调用者跟实现者

面向接口调用,面向接口写实现类,面向接口编程

1.1 面向接口编程为什么要面向接口编程?

解耦合,降低程序的耦合度,提高程序的拓展力

多态机制就是非常典型的 面向抽象编程

接口是完全抽象编程,可以让程序更灵活

import java.sql.*

1.2 JDBC接口 是 一套interface

厂家将操作通道通过实现java的JDBC 的接口的方法写入,然后使用者直接调用厂家实现的java包既可以使用

厂家实现的JDBC称为驱动,MySQL驱动,Oracle驱动,所有的驱动都是jar包

下载数据库需要去厂家下载

2.模拟JDBC本质

1602499290915

数据库厂家是JDBC的实现者.我们是JDBC的调用者,SUN公司是接口定制者

//SUN公司提供接口
public interface JDBC {
    void getConnection();
}
//MySQL提供的接口
public class MySQL implements JDBC{
    @Override
    public void getConnection() {
        System.out.println("连接MySQL数据库成功");
    }
}
//只需要面向接口编程,调用MySQL驱动的.class实施具体,然后直接使用
//SUN公司提供方法就可以
public class User {
    public static void main(String[] args) {
        MySQL mySQL = new MySQL();
        mySQL.getConnection();
    }
}

2.1 源代码:HBase里的JDBC理解

去HBase看源代码

过程

第一步:注册驱动

第二步:获取连接

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

第四步:执行sql语句(DDL,DML)

第五步:处理查询的结果集

第六步:释放资源

使用完资源之后一定要关闭资源,java和数据库数据进程间的通信,开启之后一定要关闭

注册驱动-获取连接-获得操作对象-执行语句-处理结果-释放资源

3.注册驱动测试连接

3.1百度讲URL

URL

jdbc:mysql:协议

什么是协议,有什么用

是什么通讯协议

是通信之前就提前定好的数据传送格式

数据包具体怎么传数据,格式提前订好

127.0.0.1 IP地址

3306 端口号

jdbc 数据库的实例名

localhost 与 127.0.0.1 都是本地IP

3.2 第二种类加载的方法

1602506259856

本身具有类加载的动作,

注册驱动的第二种方式,字符串可以写在配置文件中

4.DML与DDL的操作

DML返回int

提交方式==executeupdate==

查询返回==resultset==(结果集合)

提交方法==executequery==

boolean flag = resultset.next();==>返回ture

resultset的迭代器集合

5.回顾

connection 数据库连接对象

statement,获得数据库操作对象

可以执行sql语句

executeUpdate int (影响条数)

executeQuery (resultset,处理查询结果集)

6.行级锁

for update 悲观锁 锁住

乐观锁多线程并发都可以进行修改,都可以执行,只不过有版本号


文章作者: Jinxin Li
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Jinxin Li !
  目录