对于jdbc的一小部分理解吧,希望以后忘记了可以回来温故一下

一.Jdbc是什么:实现java和数据库的 连接桥梁。

(1)对于java来说,想要存储的数据可以放到数据库里的表中,实现持久化,不会在该关闭程序后被回收,

(2)对于数据库来说,不必开启命令行学sql语句再去执行,结果集可以被实现更多的处理方式,不再限制于仅仅的显示结果。

二.ODBC:微软的数据库链接工具。不是开源的。

JDBC是java版本的ODBC,是一个类和接口的集合。

三.Driver驱动的实现我们是不知道的,我们使用这个driver就可以实现和使用和链接不同的数据库,每个数据库都有配套的驱动。

四.URL是什么: 如果说Driver是确认连什么类型的数据库,那么url就是用来确认链接具体的哪一个数据库。url还需要用户名和密码,driver、url、user、password是JDBC四要素,缺一不可

****补充:反射获取对象的三种方式:

1.class.forname(包名+类名);

2.类名.class;

3.对象名。Getclass;

***四种ODBC的驱动:

1.JDBC-ODBC桥梁:效率低下,因为是ODBC嵌套包装。

2.本地API:需要安装本地API的语言运行环境,不实用。

3.JDBC网络协议:oracle数据库接收不了HTTP协议,所以还需要额外搭建一个接收和转发HTTP协议的服务器, 效率也很低下。

4.本地协议:数据库厂商提供驱动包,里面包含着连接数据库的协议,使用网络+IO得到功能。

 

 

五.Statement是用来执行sql语句的平台

Preparestatement:是statement的子接口,具有预编译功能:创建对象的同时提前编译sql语句,一般就是同构的sql语句最实用。

同构sql:语句一样值不同

Insert into student values(1,’tom1’,18);

Insert into student values(2,’tom2’,13);

Insert into student values(3,’tom3’,12);

Insert into student values(4,’tom4’,11);

 

以下语句也是同构的:

Insert into student values(?,?,?);

Update student set name = ? where id=?;

Delete from student where id=?;

异构sql:语句里的操作不同,操作的表也不同

jdbc结构图:

 

 

 

 

对于jdbc的一小部分理解吧,希望以后忘记了可以回来温故一下

 

 

 

六. JDBC操作的六个步骤

1.注册驱动

三种方法:

(1)实例化一个驱动对象

Driver driver = new oracle.jdbc.driver.OracleDriver;

(2)使用类加载器

我们常用的就是:Class.forName(“oracle.jdbc.driver.OracelDriver”);

(3)使用java.jdbc.divers property直接给虚拟机传驱动包

 

2创建连接

DriverManager.getConnection(url);

Url里面是(”jdbc:oracle:JDBC链接类型:@链接的目标IP:本机的端口号:数据库名字”)

例如public static string url = “jdbc:oracle:thin:@localhost:1521:XE”;

3创建statement对象

4借助statement执行sql语句

5处理结果集(只有select语句才会产生结果集)

6关闭资源:Conn.close