当前位置: 首页 > news >正文

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:

<!--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中央仓库下载。

第二步:加载驱动

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

第二步:建立数据库连接

//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语句命令

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

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

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

第五步:遍历结果集

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

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

//6.关闭打开的相关资源
rs.close();
pst.close();
conn.close();

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

public class DbDemo {@Testvoid 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();}}
}

输出结果:

 

http://www.lryc.cn/news/119147.html

相关文章:

  • gitee分支合并
  • Python小白入门:文件、异常处理和json格式存储数据
  • 16bit、8 通道、500kSPS、 SAR 型 ADC——MS5188N
  • Chapter 12: Regular expressions | Python for Everybody 讲义笔记_En
  • Android javaMail mergeDebugJavaResource FAILED解决
  • 【ArcGIS Pro二次开发】(57):地图系列
  • 秋招打卡015(20230811)
  • 如何使用Word转PDF转换器在线工具?在线Word转PDF使用方法
  • 自然语言处理从入门到应用——LangChain:记忆(Memory)-[记忆的类型Ⅰ]
  • Camunda 7.x 系列【7】Spring Boot 集成 Camunda 7.19
  • 24华东交通软件工程837考研题库
  • nginx 以及nginx优化
  • cesium学习记录04-坐标系
  • P5737 【深基7.例3】闰年展示
  • Nacos的安装使用教程Linux
  • 数据结构-学习
  • 【MFC】05.MFC六大机制:程序启动机制-笔记
  • Von Maur, Inc EDI 需求分析
  • [深度学习入门]PyTorch深度学习[Numpy基础](上)
  • Excel vost 实现照光灯效果
  • IntelliJ中文乱码问题
  • 【C++】红黑树模拟实现插入功能(包含旋转和变色)
  • Pads输出器件坐标文件时,如何更改器件坐标精度
  • Vuejs3父组传值给子组件
  • 竞赛项目 深度学习的智能中文对话问答机器人
  • 【剑指 の 精选】热门状态机 DP 运用题
  • 自动化实践-全量Json对比在技改需求提效实践
  • 【Matlab】PSO优化(单隐层)BP神经网络
  • 创建型模式-原型模式
  • JS逆向系列之猿人学爬虫第11题 - app抓取 - so文件协议破解