前言:

本文内容:数据库驱动和JDBC、第一个JDBC程序、JDBC中对象解释

推荐免费MySQL基础讲解视频:【狂神说Java】MySQL最新教程通俗易懂哔哩哔哩bilibili

数据库驱动和JDBC

数据库驱动

驱动:声卡、显卡、数据库。

数据库驱动来连接数据库和应用程序。

JDBC

JDBC 指 Java 数据库连接,是一种标准Java应用编程接口( Java API),用来连接 Java 编程语言和广泛的数据库。

java.sql

javax.sql

mysql.connector.java8.0.22.jar

第一个JDBC程序

测试JDBC的表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-- 测试jdbc数据库
create database jdbcStudy character set utf8 collate utf8_general_ci;

use jdbcStudy;

create table users(
`id` int primary key,
`name` varchar(40),
`password` varchar(40),
email varchar(60),
birthday date
);

insert into users(`id`,`name`,`password`,email,birthday)
values(1,'张三','123456','zs@qq.com','1999-01-12'),(2,'李四','123456','ls@qq.com','1999-01-12'),(3,'王五','123456','ww@qq.com','1999-01-12');

使用IDEA创建JDBC测试项目

  1. 创建一个普通的Java项目

  2. 导入需要的jar包

    159

  3. JDBC代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    package com.jokerdig.lesson01;

    import java.sql.*;

    /**
    * @author Joker大雄
    * @data 2022/3/21 - 11:09
    **/
    public class JdbcFirstDemo {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
    // 加载驱动
    Class.forName("com.mysql.cj.jdbc.Driver");

    // 用户信息和url
    String url = "jdbc:mysql://localhost:3306/jdbcstudy?useSSL=false&serverTimezone=UTC";
    String username = "root";
    String password = "123456";
    // 连接成功,数据库对象
    Connection connection = DriverManager.getConnection(url, username, password);
    // 执行SQL的对象
    Statement statement = connection.createStatement();
    //执行SQL对象 去执行SQL 查看返回结果
    String sql = "select * from users";
    ResultSet resultSet = statement.executeQuery(sql);
    while(resultSet.next()){
    System.out.println("id:"+resultSet.getObject("id")+" name:"+resultSet.getObject("name")+" password:"+resultSet.getObject("password")+"\n");
    }
    // 释放连接
    resultSet.close();
    statement.close();
    connection.close();

    }
    }

步骤总结

  1. 加载驱动
  2. 连接数据库DriverManager
  3. 获得执行sql的对象 Statement
  4. 获得返回的结果集
  5. 释放连接

JDBC中对象解释

DriverManage

1
2
3
4
5
6
7
8
9
10
// 加载驱动 推荐使用第二种反射方法
// DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Class.forName("com.mysql.cj.jdbc.Driver");
// connection 代表数据库
// 设置数据库自动提交
// 事务提交
// 事务回滚
connection.setAutoCommit();
connection.commit();
connection.rollback();

URL

1
2
3
4
5
String url = "jdbc:mysql://localhost:3306/jdbcstudy?useSSL=false&serverTimezone=UTC";
// mysql端口号 3306
// jdbc:mysql://localhost:3306/数据库?useSSL=false&serverTimezone=UTC
// oracle 1521
// jdbc:oracle:thin:@localhost:8521

Statement

执行SQL的类

1
2
3
4
5
6
7
8
9
// 执行SQL的对象
Statement statement = connection.createStatement();
//执行SQL对象 去执行SQL 查看返回结果
String sql = "select * from users";
ResultSet resultSet = statement.executeQuery(sql);
// statement
statement.executeQuery();// 执行sql查询并返回结果姐ResultSet
statement.execute();// 执行sql
statement.executeUpdate(); // 更新 插入 删除..

ResultSet

查询的结果集,封装了所有查询对象;

1
2
3
4
5
6
7
ResultSet resultSet = statement.executeQuery(sql);
resultSet.getObject();
resultSet.getString();
resultSet.getInt();
resultSet.getFloat();
resultSet.getDate();
// .....

遍历指针

1
2
3
4
5
resultSet.beforeFirst();// 移动到最前面
resultSet.afterLast();// 移动到最后面
resultSet.next();// 移动到下一个
resultSet.previous();// 移动到前一行
resultSet.aboulute(row);// 移动到指定行

释放资源

1
2
3
4
// 释放资源
resultSet.close();
statement.close();
connection.close();