黑马视频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");
//使用驱动管理器,链接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);
//可以使用链接对象,向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();
}
}
结果: