JDBC数据库连接

目录

引言

一,基本概念

二,常用操作步骤

三,连接操作


引言

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种 关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建 更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。

Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何 来访问数据库的应用程序接口(,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。

一,基本概念

JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据。

执行流程:

  1. 连接数据源,如:数据库。
  2. 为数据库传递查询和更新指令。
  3. 处理数据库响应并返回的结果。

二,常用操作步骤

第一步:添加依赖(使用maven)/添加jar包(不使用maven)

使用maven:

java 复制代码
<!--mysql 8.1.0.com.mysql/mysql-connector-j -->
<dependency>
   <groupId>com.mysql</groupId>
   <artifactId>mysql-connector-j</artifactId>
   <version>8.1.0</version>
</dependency>

不使用maven:

注意:

  • 添加的jar包和依赖要与数据库版本一致。
  • 依赖与jar包均可在maven中央仓库下载。

第二步:加载驱动

java 复制代码
//旧版本驱动名称
Class.forName("com.mysql.jdbc.Driver");
//新版mysql jdbc驱动 兼容旧的mysql数据库
Class.forName("com.mysql.cj.jdbc.Driver");

第二步:建立数据库连接

java 复制代码
//2.建立数据库连接(localhost主机 3306端口  root账号 密码是默认空的,所以没有写)
//Connection conn = DriverManager.getConnection("jdbc:mysql:/dbok?user=root");
//Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbok?user=root&password=&serverTimezone=PRC&useUnicode=true&charsetEncoding=utf8&useSSL=true");
Connection conn = DriverManager.getConnection("jdbc:mysql:/dbok", "root", "");

第三步:根据连接获取语句对象,来执行sql语句命令

java 复制代码
//根据连接获取语句对象,来执行sql语句命令
PreparedStatement pst = conn.prepareStatement("show databases");

第四步:语句查询结果对象 结果为集合

java 复制代码
//语句查询结果对象 结果为集合
ResultSet rs = pst.executeQuery();

第五步:遍历结果集

java 复制代码
//5.遍历结果集 输出结果
while (rs.next()) {
       System.out.println(rs.getString(1));
}

第六步:关闭打开的相关资源

java 复制代码
//6.关闭打开的相关资源
rs.close();
pst.close();
conn.close();

三,数据库连接并执行SQL语句

java 复制代码
public class DbDemo {
    @Test
    void m1() {
        try {
            //1.加载驱动
            Class.forName("com.mysql.cj.jdbc.Driver");

            //2.建立数据库连接
            //Connection conn = DriverManager.getConnection("jdbc:mysql:/dbok?user=root");
            //Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbok?user=root&password=&serverTimezone=PRC&useUnicode=true&charsetEncoding=utf8&useSSL=true");
            Connection conn = DriverManager.getConnection("jdbc:mysql:/dbok", "root", "");
            System.out.println("连接成功");

            //3.根据连接获取语句对象,来执行sql语句命令
            PreparedStatement pst = conn.prepareStatement("show databases");

            //4. 语句查询结果对象 结果集
            ResultSet rs = pst.executeQuery();

            //5.遍历结果集 输出结果
            while (rs.next()) {
                System.out.println(rs.getString(1));
            }

            //6.关闭打开的相关资源
            rs.close();
            pst.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

输出结果:

相关推荐
xcLeigh1 分钟前
聊聊数据库迁移工具怎么从单机走向“云+端+服务”,KDMS架构拆解
数据库·架构·数据库迁移·kes·kdms·架构拆解
St_rive16 分钟前
selenium cookie的处理
数据库·selenium·测试工具
辻弋2011 小时前
一键优化电源计划、游戏模式、独显强制、禁用后台录制——DeltaForceBooster专治三角洲行动卡顿掉帧,所有改动可一键还原
服务器·数据库·windows·游戏·电脑·php
QQ_21696290961 小时前
【项目编号:project95315】SpringBoot公共自习室管理系统:座位预约、房间管理、签到核销、公告规则完整实战
java·spring boot·后端
嵌入式阿蔡1 小时前
面试高频考点 01:volatile / 中断 / 堆栈 八股精讲
java·面试·职场和发展·嵌入式实时数据库
秋饼2 小时前
LangChain4j + Java 实现企业级 Text-to-SQL 智能问数系统:从自然语言到安全可控的数据洞察
java·ai·技术分享·后端开发
Wang's Blog2 小时前
PostgreSQL笔记51: 基于 pgvector 构建企业级智能问答系统
数据库·笔记·postgresql
Escalating_xu2 小时前
【C++ STL简介】从六大组件到容器、迭代器与算法协作
java·c++·算法
何以解忧,唯有..2 小时前
Python os模块详解:文件与目录操作指南
java·服务器·python
我星期八休息2 小时前
Linux—五种IO模型与非阻塞IO
linux·运维·服务器·网络·数据库·网络协议