第一个JDBC程序+对象解释

MySQL 数据库学习笔记(续)

十、JDBC 重点!!!

10.3 第一个JDBC程序

1. 创建测试数据库

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','zhangsan','123456','zs@sina.com','1980-12-04'),
('2','lisi','123456','lisi@sina.com','1981-12-04'),
('3','wangwu','123456','wangwu@sina.com','1979-12-04')

2. 创建一个普通项目

3. 导入数据库驱动

4. 编写测试代码

package com.guo.lesson01;

import com.mysql.jdbc.Driver;

import java.sql.*;

//我的第一个JDBC程序
public class jdbcFirstDemo01 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        // 1.加载驱动
        Class.forName("com.mysql.jdbc.Driver");// 固定写法

        // 2.用户信息和url
        //useUnicode=true&characterEncoding=utf8&useSSL=true
        String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=true";
        String username = "root";
        String password = "123456";

        // 3.连接成功,数据库对象  Connection 代表数据库
        Connection connection = DriverManager.getConnection(url, username, password);

        // 4.执行SQL的对象   Statement  执行SQL的对象
        Statement statement = connection.createStatement();

        // 5.执行SQL的对象 去 执行 SQL,可能存在结果,查看返回结果
        String sql = "SELECT * FROM users";

        ResultSet resultSet = statement.executeQuery(sql); //返回的结果集,结果集中封装了我们全部的查询出来的结果

        while(resultSet.next()){
            System.out.println("id=" + resultSet.getObject("ID"));
            System.out.println("name=" + resultSet.getObject("NAME"));
            System.out.println("password=" + resultSet.getObject("password"));
            System.out.println("email=" + resultSet.getObject("email"));
            System.out.println("birth=" + resultSet.getObject("birthday"));
        }
        // 6.释放连接
        resultSet.close();
        statement.close();
        connection.close();
    }
}

步骤总结:

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

10.4 JDBC中对象解释

1. DriverManager

// DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Class.forName("com.mysql.jdbc.Driver");// 固定写法 加载驱动

2. URL

String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=true";
  • 协议 😕/主机地址:端口号/数据库名?参数1&参数2&参数三
  • MySQL 默认端口号 -- 3306
  • MySQL 写法:jdbc:mysql://主机地址:端口号/数据库名?参数1&参数2&参数三
  • oracle 默认端口号 -- 1521
  • oracle 写法:jdbc:oracle:thin:@localhost:1521:sid

3. Connection 代表数据库

Connection connection = DriverManager.getConnection(url, username, password);
  • connection.rollback(); // 事务回滚
  • connection.commit(); // 事务提交
  • connection.setAutoCommit(); // 数据库设置自动提交

4. Statement 执行SQL的对象 prepareStatement 执行SQL的对象

String sql = "SELECT * FROM users"; // 编写SQL
  • statement.executeQuery(); // 查询操作 返回 Result
  • statement.execute(); // 执行任何SQL
  • statement.executeUpdate(); // 更新、插入、删除都使用这个,返回一个受影响的行数

5. ResultSet 查询的结果集,封装了所有的查询结果

5.1 获得指定的数据类型
resultSet.getObject(); // 在不知道列类型的情况下使用
// 如果知道列的类型就用指定的类型
resultSet.getString();
resultSet.getInt();
resultSet.getFloat();
resultSet.getDouble();
resultSet.getDate();
5.2 遍历,指针
resultSet.beforeFirst(); // 移动到最前面
resultSet.afterLast();   // 移动到最后面
resultSet.next();        // 移动到下一个数据
resultSet.previous();    // 移动到前一行
resultSet.absolute(row); // 移动到指定行

6. 释放连接

resultSet.close();
statement.close();
connection.close(); //耗资源,用完关掉

总结

  1. JDBC 本质:Java 操作数据库的官方规范接口
  2. 固定步骤:加载驱动 → 连接 → 获取 Statement → 执行 SQL → 处理结果 → 释放资源
  3. 核心对象ConnectionStatementResultSet
  4. 必须释放资源:先开后关、后开先关
posted @ 2026-04-15 11:24  果子同志  阅读(11)  评论(0)    收藏  举报