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.mzph.cn/news/208028.shtml

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

相关文章

React 笔记 jsx

严格约定:React 组件必须以大写字母开头,而 HTML 标签则必须是小写字母。 React JSX JSX 是由 React 推广的 JavaScript 语法扩展。 用于表达组件的 特殊语法的 js 函数 要求标签必须闭合;返回的组件必须包裹在一个父标签内; …

鸿蒙4.0开发笔记之ArkTS语法基础之数据传递与共享详细讲解(十八)

文章目录 一、路由数据传递(router)1、路由数据传递定义2、路由数据传递使用方法3、数据传递两个页面的效果 二、页面间数据共享(EntryAbility)1、定义2、实现案例3、避坑点 三、数据传递练习 一、路由数据传递(router…

PaaS(平台即服务)——云计算服务模型(特点,应用场景,优点和缺点,示例)

PaaS(平台即服务)是云计算的一种服务模型,它提供了一个平台,允许客户开发、运行和管理应用程序,而无需建立和维护通常与这些过程相关的复杂基础设施。PaaS 是作为服务交付的一种方式,它提供了一套工具和服务…

网卡学习资料整理

GMAC网卡相关介绍与分析 https://www.cnblogs.com/forwards/p/17101438.html https://www.eefocus.com/article/1635234.html Linux Phy 驱动解析_linux phy驱动-CSDN博客 GMAC接口五篇 https://blog.csdn.net/dkmknjk/category_11837422.html 以太网扫盲(一&am…

麒麟V10服务器安装Apache+PHP

安装PHP yum install php yum install php-curl php-gd php-json php-mbstring php-exif php-mysqlnd php-pgsql php-pdo php-xml 配置文件 /etc/php.ini 修改参数 date.timezone Asia/Shanghai max_execution_time 60 memory_limit 1280M post_max_size 200M file_upload…

分布式和微服务区别

1.分布式 微服务和分布式的区别 1.将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。区别分布式的方式是根据不同机器不同业务。 2.分布式是否属于微服务? 答案是肯定的。微服务的意…

动手制作个人电脑对话机器人transformers+DialoGPT

简介:DialoGPT是一个对话模型,由微软基于GPT-2训练。由于DialoGPT在对话数据上进行了预训练,所以它比原始的GPT-2更擅长生成类似对话的文本。DialoGPT的主要目标是生成自然且连贯的对话,而不是在所有情况下都提供事实上的正确答案…

基于Spring、SpringMVC、MyBatis开发的游乐场管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于Spring、SpringMVC、MyBatis开发的游…

ca单点登录

最近搞得单点登录碰到了很多问题,具体的问题有如下几个: ①如何获取usbkey的值 ②要实现的单点登录的方案 ③如何获取多个key的值,并进行选择登录 ④ie跳谷歌访问业务界面 注:最后将实现代码附上,希望对大家有所帮助 1…

Numpy数组的运算(第7讲)

Numpy数组的运算(第7讲)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ…

进制 + 原码,反码,补码

进制转换 整数部分 小数部分 原码 反码 补码 原码转补码: 左边和右边第一个1不变,中间取反。-0 除外。 计算机系统中数值一律用补码来存储的原因 其他 术语 进制表 进制数的表示 详细教程可转 爱编程的大丙

数学建模-数据新动能驱动中国经济增长的统计研究-基于数字产业化和产业数字化的经济贡献测度

数据新动能驱动中国经济增长的统计研究-基于数字产业化和产业数字化的经济贡献测度 整体求解过程概述(摘要) 伴随着数据要素化进程的不断加深,对于数据如何作用于经济发展,数据与其他要素结合产生的动能应该如何测度的研究愈发重要。本文将数据新动能分…

sql 条件统计,count+if+sum

1,前提 看同事写的sql语句时,觉得他写的这个countsumif的sql还挺新鲜, 学习记录下,感觉这个挺适合用来对历史数据做条件统计 2,count使用结果 select count(0);//1select count(1);//1select count(null);//0select…

机器人刚性碰撞任务的阻抗控制性能

问题描述 对于机器人刚性碰撞任务,阻抗控制可以有效地提高机器人的适应性和稳定性。 在刚性碰撞任务中,机器人在接触外部物体时需要快速适应并调整自身的运动轨迹和速度,以实现精确的操控和稳定的交互。阻抗控制可以通过调整机器人的阻抗参…

【Flink系列五】Checkpoint及Barrier原理

本章内容 一致性检查点从检查点恢复状态检查点实现算法-barrier保存点Savepoint状态后端(state backend) 本文先设置一个前提,流处理的数据都是可回放的(可以理解成消费的kafka的数据) 一致性检查点(che…

深度学习之注意力机制

注意力机制与外部记忆 注意力机制与记忆增强网络是相辅相成的,神经网络去从内存中或者外部记忆中选出与当前输入相关的内容时需要注意力机制,而在注意力机制的很多应用场景中,我们的外部信息也可以看作是一个外部的记忆 这是一个阅读理解任务…

Nodejs安装使用,nvm对Nodejs和npm版本控制

Nodejs 安装 使用: npm 是Nodejs的内置 包管理工具 下载长期支持版本Node.js 中文网Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全…

Flink之JDBCSink连接MySQL

输出到MySQL 添加依赖 <dependency><groupId>org.apache.flink</groupId><artifactId>flink-connector-jdbc</artifactId><version>3.1.0-1.17</version> </dependency> <dependency><groupId>com.mysql</gr…

在pytorch中自定义dataset读取数据

这篇是我对哔哩哔哩up主 霹雳吧啦Wz 的视频的文字版学习笔记 感谢他对知识的分享 有关我们数据读取预训练 以及如何将它打包成一个一个batch输入我们的网络的 首先我们来看一下之前我们在讲resnet网络时所使用的源码 我们去使用了官方实现的image folder去读取我们的图像数据 然…

xilinx的XVC协议

文章目录 概述JTAG工作方式XVC协议 其他Debug Bridge IP 概述 JTAG工作方式 XVC协议 其他 Debug Bridge IP