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 代码基本不变。

JDBC简介及快速入门-黑马(P1)_第1张图片

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

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

三、开发步骤

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

JDBC简介及快速入门-黑马(P1)_第2张图片

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);

JDBC简介及快速入门-黑马(P1)_第3张图片

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 数据库

JDBC简介及快速入门-黑马(P1)_第4张图片

代码实例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();
    }
}

结果:

JDBC简介及快速入门-黑马(P1)_第5张图片

实例代码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();
    }
}

结果:

JDBC简介及快速入门-黑马(P1)_第6张图片

 JDBC简介及快速入门-黑马(P1)_第7张图片

你可能感兴趣的:(JDBC,数据库,mysql,sql,intellij-idea,java)