JDBC概念和使用

JDBC概念和使用

说明:该系列博客是由易到难的,请大家按照顺序进行学习。

Java的数据获取方式

(一)直接声明变量并赋值。

(二)Scanner类控制台输出。

(三)IO流:将硬盘存储中的数据读取到Java中。

(四)scoket + IO流

(五)从数据库中获取

JDBC的概念

因为java和数据库之间的沟通不一致(因为是不同的语言),两者之间为了达到有效沟通,而且数据库厂商又不想对外提供源码,所以数据库厂商对外提供了java支持的接口。因此,我们要做的就是创建类实现这些被提供的接口就可以操作数据库了。

又因为我们创建类实现接口的本质目的就是使用Java来操作数据库,所以,有一套写法就可以,我们没有必要每个人都重新写一个实现类。因此,数据库厂商对外提供了数据库操作的驱动包(该驱动包就是实现了方法的类,不止一个类)。

所以,我们真正需要做的,就是写代码来调取驱动包的类,实现相应的功能,来真正的对数据库进行存取操作。

总结JDBC其实就是数据库厂商对外提供的能够对自己的数据进行操作的驱动包,也就是jar文件,不同的数据库对应着不同的jar包

补充:jar包

jar包可以用来在当前项目下使用其他项目中定义的类和方法,使用时只需导入相应的jar包即可。jar包中不包含源码,只有编译好的class文件。反编译的源码无注释,所以,也不要想着反编译进行盗取。

当我们完成一个项目之后,我们可以ExportJAR file,然后在你保存的目录下就可以找到对应的jar包。

当我们需要使用该jar包下的类时,我们在当前项目下新建一个lib文件夹,将对应jar包复制到此位置,然后Build Path即可。

JDBC的使用

从上面可以了解到,JDBC是已经存在的,我们要学习的,就是如何通过JDBC来操作数据库就可以了。那我们该如何做呢,步骤如下(为强调重点这里并没有处理异常):

第一步:导入JDBC驱动包:在我们电脑磁盘中找到数据库对应的安装目录,我的目录是在C:\oraclexe\app\oracle \product\11.2.0\server\jdbc\lib中,找到ojdbc6.jar,并把它复制到我们当前项目的新建文件夹lib中(该名称随便起,但最好使用lib),并将其Build Path,然后Add to Build Path

第二步:加载驱动:作用是初始化加载jdbc类到java虚拟机。

Oracle数据库:Class.forName("oracle.jdbc.driver.OracleDriver");

在ojdbc6.jar中自动加载,可以不写,不过最好写上,方便后续更换数据库,在ojdbc14.jar中必须手动声明。

第三步:获取数据库连接对象:即明确要连接哪个数据库。

1
2
3
4
5
//url,username,password 均为字符串格式
//url:表示要连接的数据库地址
//username:数据库的用户名
//password: 与用户名对应的密码
Connection conn = DriverManager.getConnection(url,username,password);

第四步:创建sql命令对象:该对象会编译并发送sql命令给数据库。

1
Statement stmt = conn.createStatement();

第五步:创建sql命令:就是字符串,结尾不要加分号。

第六步:执行sql命令:不同的操作(插入、删除、修改),代码也不相同。返回值为int类型,返回值如果小于0,则表示未执行成功;若返回值大于0,表示成功修改的数据量。

1
int res1 = stmt.executeUpdate(sql);   // 增加、删除、修改数据 命令

第七步:关闭资源。


版本1:讲解了JDBC基本的使用步骤,请继续看后续版本,在下一节。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
* JDBC新增学习:
* 1.导入JDBC驱动包:ojdbc6.jar
* 2.加载驱动
* 3.创建数据库对象
* 4.创建sql命令对象
* 5.创建sql语句
* 6.执行sql语句
* 7.关闭资源
* @author x1aolin
*
*/
public class TestInsert1 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1.加载驱动类
Class.forName("oracle.jdbc.driver.OracleDriver"); //反射知识 将对应的类加载到内存
//2.获取数据库连接对象
//连接指定的数据库 三个参数对应 url username password
String url = "jdbc:oracle:thin:@localhost:1521:XE";
Connection conn = DriverManager.getConnection(url,"hhh","123456");
//3.获取sql命令对象 编译并发送sql命令给数据库
Statement stmt = conn.createStatement();
//4.创建sql命令
String sql = "insert into ss values(5,'bowen','nv')";
//5.执行sql命令 执行失败,返回-1;执行成功,返回修改数据的条数
int i = stmt.executeUpdate(sql);
if(i>0) {
System.out.println("成功修改了"+i+"条数据");
}
else{
System.out.println("执行失败,请检查!");
}
//6.关闭资源 反向顺序关闭
stmt.close();
conn.close();
}
}

上面也已经声明,为了先学习如何使用JDBC,突出重点,出现的异常我们没有进行处理,这当然在实际开发当中是不被允许的,所以我们就在下一节JDBC完成新增进行异常处理。

您的每一份支持将鼓励我继续创作!
-------------本文结束感谢您的阅读-------------