notebook notebook
首页
  • 计算机网络
  • 计算机系统
  • 数据结构与算法
  • 计算机专业课
  • 设计模式
  • 前端 (opens new window)
  • Java 开发
  • Python 开发
  • Golang 开发
  • Git
  • 软件设计与架构
  • 大数据与分布式系统
  • 常见开发工具

    • Nginx
  • 爬虫
  • Python 数据分析
  • 数据仓库
  • 中间件

    • MySQL
    • Redis
    • Elasticsearch
    • Kafka
  • 深度学习
  • 机器学习
  • 知识图谱
  • 图神经网络
  • 应用安全
  • 渗透测试
  • Linux
  • 云原生
面试
  • 收藏
  • paper 好句
GitHub (opens new window)

学习笔记

啦啦啦,向太阳~
首页
  • 计算机网络
  • 计算机系统
  • 数据结构与算法
  • 计算机专业课
  • 设计模式
  • 前端 (opens new window)
  • Java 开发
  • Python 开发
  • Golang 开发
  • Git
  • 软件设计与架构
  • 大数据与分布式系统
  • 常见开发工具

    • Nginx
  • 爬虫
  • Python 数据分析
  • 数据仓库
  • 中间件

    • MySQL
    • Redis
    • Elasticsearch
    • Kafka
  • 深度学习
  • 机器学习
  • 知识图谱
  • 图神经网络
  • 应用安全
  • 渗透测试
  • Linux
  • 云原生
面试
  • 收藏
  • paper 好句
GitHub (opens new window)
  • Java开发

    • My

    • Posts

    • Java SE

    • Java 并发编程

    • JVM

    • JDBC

      • 动力节点2020

        • JDBC 上手
      • Java Web

      • Spring 与 SpringMVC

      • Spring Boot

      • Spring Cloud

      • Spring Security

      • Netty

      • MyBatis

    • Python开发

    • Golang开发

    • Git

    • 软件设计与架构

    • 大数据与分布式系统

    • 区块链

    • Nginx

    • 开发
    • Java开发
    • JDBC
    • 动力节点2020
    yubin
    2023-08-17
    目录

    JDBC 上手

    # 1.1 什么是 JDBC?

    Java DataBase Connectivity

    # 1.2 JDBC 相关的类库在哪里?

    • java.sql.*:这个包下都是 JDBC 的 interface,SUN 公司制定的
    • 这些 JDBC 的实现类由数据库厂家编写
      • 比如我们如果连接 MySQL,那么 MySQL 厂家的实现类就是 mysql-connector-java-5.1.23-bin.jar,他也就是 MySQL 的驱动类

    # 1.3 JDBC 编程六步

    # 1)注册驱动

    这一步就是通知 Java 程序我们即将要连接的是哪个品牌的数据库。这一步主要就是想获得一个实现了 Driver 接口的实现类,并将其注册到 DriverManager 中。

    // 注册驱动
    import java.sql.Driver;
    import java.sql.DriverManager;
    
    Driver driver = new com.mysql.jdbc.Driver();
    // Driver driver = new oracle.jdbc.driver.OracleDriver();
    DriverManager.registerDriver(driver);
    
    1
    2
    3
    4
    5
    6
    7

    # 2)获取数据库连接

    Java 进程与 MySQL 进程的通道开启了。

    String url = "jdbc:mysql://localhost:3306/powernode";
    String user = "root";
    String pwd = "root";
    Connection conn = DriverManager.getConnection(url, user, password);
    
    1
    2
    3
    4

    # 3)获取数据库操作对象

    这个对象用来执行 SQL,也就是 Statement 类的实例,用来将 SQL 语句发送给数据库。

    Statement stmt = conn.createStatement();
    
    1

    通过一个 conn 对象可以创建多个 Statement 实例。

    # 4)执行 SQL 语句

    执行 CRUD 操作

    String sql = "insert ...";
    int count = stmt.executeUpdate(sql);
    
    1
    2

    DML 语句使用 executeUpdate() 来执行,会返回这个语句影响的总记录条数。

    # 5)释放资源

    关闭所有资源,因为 JDBC 毕竟是进程之间的通信,占用了很多资源,需要关闭。

    这里需要先释放 Statement 对象,再释放 Connection 对象:

    if (stmt != null) {
        stmt.close();
    }
    if (conn != null) {
        conn.close();
    }
    
    1
    2
    3
    4
    5
    6

    # 1.4 处理查询结果集

    select 等查询 SQL 通过 Statement 对象的 executeQuery(),它返回 ResultSet 对象。

    ResultSet 是查询结果集对象,查询的结果都在这个对象里面,在程序中最后也要先关闭 ResultSet。

    编辑 (opens new window)
    上次更新: 2023/08/24, 10:58:33
    内存结构
    Maven 入门

    ← 内存结构 Maven 入门→

    最近更新
    01
    Deep Reinforcement Learning
    10-03
    02
    误删数据后怎么办
    04-06
    03
    MySQL 一主多从
    03-22
    更多文章>
    Theme by Vdoing | Copyright © 2021-2024 yubincloud | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式
    ×