java如何连接数据库(以oracle为例)
thin::表示使用 Oracle 的“Thin”驱动程序,这是一种纯 Java 驱动程序,不需要安装 Oracle 客户端软件即可连接到 Oracle 数据库.String url =”jdbc:数据库类型:数据库的驱动程序:数据库服务器的主机名或 IP 地址: 数据库监听器的端口号:数据库的标识符”//是一个通用的执行方法,可以执行任何类型的 SQL 语句(查询、更新等),返回一个布尔值,表示
小白背景知识
JDBC
Java Database Connectivity (JDBC) 是一种 Java API,用于与关系数据库进行交互。它提供了一种标准的方法来执行 SQL 语句、查询数据库、更新数据以及管理数据库操作。JDBC 使得 Java 程序能够以一种与数据库无关的方式连接到各种类型的数据库系统.
java.sql
java.sql 是 Java 标准库中的一个包,它提供了一组用于与 SQL 数据库进行交互的 API。这个包是 Java Database Connectivity (JDBC) API 的一部分,允许 Java 程序以一种标准化的方式连接到数据库并执行 SQL 语句。
连接前的准备
1.准备一个驱动包

打开java-拖入驱动包到java目录-(选中它)右键-解开压缩
2.新建一个类
代码:
import java.sql.*;//导入 java.sql.
public class JDBC_TEST { //新建一个类
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//main方法+抛出异常
示例步骤
第一步:创建一个 Connection 对象
代码
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String userName = "scott";
String passWord = "123456";
代码解析
String url行:定义定位符,名称是url
JDBC URL:
(Java Database Connectivity Uniform Resource Locator)java数据库连接性统一资源定位符
用于指定数据库的连接信息。它告诉 JDBC 驱动程序如何连接到数据库,包括数据库的类型、位置、端口等信息
JDBC URL 的一般格式如下:
jdbc:<subprotocol>:<subname>
jdbc::这是所有 JDBC URL 的标准前缀
<subprotocol>:指定数据库的子协议。不同的数据库有不同的子协议
<subname>:包含连接到数据库所需的具体信息,通常包括主机名、端口号、数据库名称等。格式和内容会根据不同的数据库和子协议而有所不同.
示例:
jdbc:oracle:thin:@localhost:1521:orcl:
子协议:oracle
子协议的具体信息:thin:@localhost:1521:orcl:
oracle::指定使用的数据库类型是 Oracle.
thin::表示使用 Oracle 的“Thin”驱动程序,这是一种纯 Java 驱动程序,不需要安装 Oracle 客户端软件即可连接到 Oracle 数据库.
@localhost:指定数据库服务器的主机名或 IP 地址。在这里,localhost 表示数据库服务器运行在本地机器上.
1521:指定 Oracle 数据库监听器的端口号,默认为 1521.
orcl:指定 Oracle 数据库的 SID(System Identifier),这是数据库的唯一标识符.
代码String url = "jdbc:oracle:thin:@localhost:1521:orcl"; 即
String url =”jdbc:数据库类型:数据库的驱动程序:数据库服务器的主机名或 IP 地址: 数据库监听器的端口号:数据库的标识符”
String userName = "scott";//定义数据库的用户名
String passWord = "123456";//数据库用户的密码
第二步:加载驱动程序
代码:
Class.forName("oracle.jdbc.driver.OracleDriver");
代码解析
Class.forName()
这是一个 Java 反射方法,用于动态加载指定的类。在这个例子中,它用于加载 Oracle JDBC 驱动程序的类.
"oracle.jdbc.driver.OracleDriver"
这是 Oracle JDBC 驱动程序的完整类名。加载这个类后,JDBC 驱动程序会被注册到 DriverManager 中,使得 DriverManager 能够识别和使用 Oracle 的 JDBC 驱动程序.
注意:从 JDBC 4.0 开始,自动加载机制使得显式调用 Class.forName() 不再必要,因为 JDBC 驱动程序可以通过服务提供者接口(SPI)自动注册.
第三步:建立数据库连接
代码:
Connection con = DriverManager.getConnection(url, userName, passWord);
代码解析
DriverManager 类的一个静态方法,用于获取一个 Connection(连接) 对象
(url, userName, passWord)
()里面是连接对象的具体信息,即(对象的位置和连接信息,用户名,密码)
注:这里的连接对象指要连接的数据库
第四步:创建 Statement 对象,用于执行 SQL 语句
代码:
Statement stmt = con.createStatement();
下面是执行sql的示例
注:在执行sql之前,先确保你的数据库里面存在这张表,或者先新建一个表用来测试
代码:
String sql = "insert into yzd values(1,'黄晓明')";
//一个 SQL 插入语句
stmt.execute(sql);
//是一个通用的执行方法,可以执行任何类型的 SQL 语句(查询、更新等),返回一个布尔值,表示是否返回了 ResultSet 对象
如果需要知道是否插入成功,用下面代码代替stmt.execute(sql);
int rows = stmt.executeUpdate(sql); // 同上面一样 可以执行sql语句,但是可以返回收到影响的行数
检查是否插入成功的代码(和上一条代码搭配着使用)
代码:
if (rows > 0) {
System.out.println("插入成功!");
} else {
System.out.println("插入失败!");
}
如果要输出插入的数据
代码:
String query = "select * from yzd";//定义一条sql查询语句
ResultSet result = stmt.executeQuery(query);
// stmt.executeQuery(query)执行查询语句,
//ResultSet result 定义一个接收查询结果的 ResultSet 对象。
//ResultSet 提供了遍历和访问查询结果的方法.
while (result.next()){
System.out.println(result.getInt(1) + "\t" + result.getString(2) );
}
//While()一个循环语句,用于遍历 ResultSet 中的每一行
//result.next() 方法返回一个布尔值,表示是否还有更多的行可以读取。如果返回 true,则表示当前行有效,指针移动到下一行.返回false,循环结束
//result.getInt(1):获取当前行的第一列的值,现在该列是整数类型用getInt()。列的索引从 1 开始.
//result.getString(2):获取当前行的第二列的值,该列是字符串类型getString()
//System.out.println(...):将获取到的列值打印到控制台,列值之间用制表符 \t 分隔,以便于阅读.
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)