JDBC简介及快速入门-黑马(P1)

黑马视频b站链接:

01-JDBC简介&快速入门_哔哩哔哩_bilibili

🐶一、JDBC 简介

JDBC 概念:

  • JDBC 就是使用 Java 语言操作关系型数据库的一套 API。

  • 全称(Java DataBase Connectivity) Java 数据库连接

JDBC 本质:

  • 官方(sun 公司)定义的一套操作所有关系型数据库的规则,即接口

  • 各个数据库厂商去实现这套接口,提供数据库驱动 jar 包

  • 我们可以使用这套接口(Jdbc)编程,真正执行的代码是驱动 jar 包中的实现类

  • 组成包:java.sql。*;javax.sql.*;这两个包都包含在了 JDK 中。

JDBC 好处:

各数据库厂商使用相同的接口,Java 代码不需要针对不同数据库分别开发

可随时替换底层数据库,访问数据库的 Java 代码基本不变。

🐶二、Idea 导入 Mysql8.0 驱动 jar 包

Idea 导入Mysql8.0驱动jar包-CSDN博客

🐶三、开发步骤

0. 创建一个 java 项目,导入 mysql 的数据库驱动 jar 包--驱动包

1. 注册驱动

//方法1-创建mysql的驱动对象
DriverManager.registerDriver(new Driver());//方法2-1. 注册驱动
Class.forName("com.mysql.jdbc.Driver");

2. 获取与数据库的链接

要创建一个数据库连接,您需要提供以下连接信息:

  • JDBC URL:用于标识数据库的地址,包括数据库的类型、主机名、端口号(如下示例端口号为 3306)和数据库名称(如下示例数据库名称为 doit46_day01)。JDBC URL 的格式因数据库而异,例如 MySQL 和 Oracle 的 JDBC URL 格式不同。

  • 用户名:连接数据库时使用的用户名。

  • 密码:连接数据库时使用的密码。

//使用驱动管理器,链接mysql
String url="jdbc:mysql://localhost:3306/doit46_day01?characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
String username="root";
String password="123456";
Connection conn= DriverManager.getConnection(url,username,password);

3. 定义 SQL 语句

String sql="insert into student values(7,'zs',703)";

4. 得到代表发送和执行 SQL 语句的对象 Statement

//可以使用链接对象,向mysql中传递sql语句
//传递sql语句有一个专门的对象来进行传递。
Statement state=conn.createStatement();

5. 执行语句

//开始执行sql
//返回值是该条sal影响了多少行数据
int num=state.executeUpdate(sql);
if(num!=0){System.out.println("添加成功");
}else{System.out.println("添加失败");
}

6. 如果执行的是查询语句,就会有结果集,处理

String sql="select * from Student";Statement statement=connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()){int id=resultSet.getInt("sid");String name=resultSet.getString("sname");String rid=resultSet.getString("rid");System.out.println(id+"---"+name+"---"+rid);
}

7. 释放占用的资源

state.close();
conn.close();

Student 数据库

🧀代码实例1:

package test;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;public class testDemo06 {public static void main(String[] args) throws ClassNotFoundException, SQLException {//1. 注册驱动Class.forName("com.mysql.jdbc.Driver");//使用驱动管理器,链接mysqlString url="jdbc:mysql://localhost:3306/doit46_day01?characterEncoding=utf-8&serverTimezone=Asia/Shanghai";String username="root";String password="123456";Connection conn= DriverManager.getConnection(url,username,password);//可以使用链接对象,向mysql中传递sql语句//传递sql语句有一个专门的对象来进行传递。Statement state=conn.createStatement();String sql="insert into student values(8,'zs',703)";//开始执行sql//返回值是该条sal影响了多少行数据int num=state.executeUpdate(sql);if(num!=0){System.out.println("添加成功");}else{System.out.println("添加失败");}state.close();conn.close();}
}

结果:

🧀实例代码2:

package test;import com.mysql.jdbc.Driver;import java.sql.*;public class TestDemo07 {public static void main(String[] args) throws SQLException {DriverManager.registerDriver(new Driver());String url="jdbc:mysql://localhost:3306/doit46_day01?characterEncoding=utf-8&serverTimezone=Asia/Shanghai";String username="root";String password="123456";Connection connection = DriverManager.getConnection(url, username, password);String sql="select * from Student";Statement statement=connection.createStatement();ResultSet resultSet = statement.executeQuery(sql);while (resultSet.next()){int id=resultSet.getInt("sid");String name=resultSet.getString("sname");String rid=resultSet.getString("rid");System.out.println(id+"---"+name+"---"+rid);}connection.close();statement.close();}
}

结果:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/247133.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

靠做同城配送服务就能大赚特赚,小县城里的机遇不要错过

作为城市基础设施,城市物流配送的出现就像一个器官。当它运行良好时,它感觉不到它的贡献。一旦出现问题,存在感就非常明显。在运输能力和资源短缺的情况下,有多少商家承受着配送压力。 即使市场上有很多大大小小的即时配送商家和…

面试题:说说 Cookie、Session、Token、JWT?

文章目录 什么是认证(Authentication)什么是授权(Authorization)什么是凭证(Credentials)什么是 Cookiecookie 重要的属性 什么是 Sessionsession 认证流程 Cookie 和 Session 的区别什么是 Token&#xff…

【广州华锐互动】VR沉浸式体验铝厂安全事故让伤害教育更加深刻

随着科技的不断发展,虚拟现实(VR)技术已经逐渐渗透到各个领域,为我们的生活带来了前所未有的便捷和体验。在安全生产领域,VR技术的应用也日益受到重视。 VR公司广州华锐互动就开发了多款VR安全事故体验系统&#xff0c…

RHCSA学习笔记(RHEL8) - Part1.RH124

Chapter Ⅰ 入门 - Linux 开源系统,命令行,模块化(软件包的形势) - Windows 闭源Linux是类UNIX系统,mac系统也是类UNIX系统,所以二者的图形化界面比较相似 开源许可证:公共版权;宽…

3_企业级Nginx使用-day2

企业级Nginx使用-day2 学习目标和内容 1、能够编译安装并使用第三方模块 2、能够理解location语法的作用 3、能够了解URL的rewrite重写规则 4、能够理解防盗链原理和实现 一、第三方模块使用 Nginx官方没有的功能,开源开发者定制开发一些功能,把代码公…

DNS服务器配置与分析

目录 实验目的: 实验原理: 实验步骤: 步骤1:创建拓扑 步骤2:为PC、Client和Server配置IPv4地址、子网掩码和域名服务器 步骤3:启动设备和服务器 步骤4:测试PC-1、Client-1和Server-1之间…

ILSVRC2012数据集处理

ILSVRC2012数据集处理 解压图像处理标签和图像VOC转YOLO转voc格式VOC2YOLO最后修改COCO128.yaml文件 解压图像 先解压 tar -xvf ILSVRC2012_img_train.tar 解压之后其实还是1000个tar压缩包(对应1000个类别),需要再次解压,解压脚…

【ArcGIS Pro微课1000例】0048:深度学习--人群计数

文章目录 一、小学回忆录二、深度学习计算人头数三、案例实现一、小学回忆录 加载配套实验数据包中的图片及训练模型。你还记得当年的小学毕业班有多少同学吗?今天我们就用ArcGIS提供的人工智能工具,重温一下童年记忆。 二、深度学习计算人头数 本案例使用到的是深度学习中…

windows安装tomcat

1.下载压缩包 https://tomcat.apache.org/ 2.解压 3.配置环境变量 4.编辑path 5.点击bin目录下的startup.bat启动 6.访问localhost:8080,出现下图安装成功。

2024搞钱方式,这些你都了解吗?

气温日渐降低,凛冬已至,年关将近,咱还得多多搞钱才能喜气洋洋过大年不是?拿满全勤搞绩效,累死累活KPI……为了生活咱也是付出了太多。可是咱程序员该咋办呢? 相信有机智的小伙伴已经脱口而出了&#xff1a…

抖音集团面试挂在2面,复盘后,决定二战.....

先说下我基本情况,本科不是计算机专业,现在是学通信,然后做图像处理,可能面试官看我不是科班出身没有问太多计算机相关的问题,因为第一次找工作,字节的游戏专场又是最早开始的,就投递了&#xf…

java日历功能

java 日历功能 功能概述java代码打印结果 功能概述 输入年份和月份,打印该月份所有日期,头部信息为星期一至星期日 java代码 package com.java.core.demoTest; import java.util.Calendar; import java.util.Scanner;// 打印日历 public class Calend…