Jared's blog Jared's blog
首页
  • 数据结构与算法
  • 计算机网络
  • 操作系统
  • Java
  • 数据库SQL
  • 设计模式
  • 集成开发环境
  • Linux系统
  • 代码管理
  • 项目管理
  • 后端

    • 中间件
    • Spring家族
    • 服务器软件
    • 数据库
    • 搜索引擎
    • 分布式&微服务
    • 容器化
  • 前端

    • 基础
    • 模板框架
    • 组件化框架
  • 运维知识
  • 部署工具
架构与模型
  • 在线教育
  • 电商
  • 疑惑日志
  • 随笔
  • 友链
  • 书籍
  • 娱乐
  • Github (opens new window)
  • Gitee (opens new window)
  • CSDN (opens new window)

Jared H

💻🤣😜
首页
  • 数据结构与算法
  • 计算机网络
  • 操作系统
  • Java
  • 数据库SQL
  • 设计模式
  • 集成开发环境
  • Linux系统
  • 代码管理
  • 项目管理
  • 后端

    • 中间件
    • Spring家族
    • 服务器软件
    • 数据库
    • 搜索引擎
    • 分布式&微服务
    • 容器化
  • 前端

    • 基础
    • 模板框架
    • 组件化框架
  • 运维知识
  • 部署工具
架构与模型
  • 在线教育
  • 电商
  • 疑惑日志
  • 随笔
  • 友链
  • 书籍
  • 娱乐
  • Github (opens new window)
  • Gitee (opens new window)
  • CSDN (opens new window)
  • 数据结构与算法

  • 计算机网络

  • 操作系统

  • Java

    • 语言基础

    • 集合

    • 并发、多线程

    • JVM

    • 工具

      • JDBC
        • 前言
        • 编程六步
    • IO

    • 新特性

    • http通信流程图
  • 数据库-SQL

  • 设计模式

JDBC

# 1.JDBC

  • 前言
  • 编程六步

# 前言

  • JDBC = Java DataBase Connectivity

  • JDBC 本质是一套接口,SUN公司制定的。目的是解耦合,降低程序的耦合度,提高程序的扩展性。因为每一个数据库的底层实现原理都不一样

  • 对应驱动jar包 mysql-connector-java-5.1.23-bin.jar

# 编程六步

  第一步:注册驱动(作用:告诉Java程序,即将要连接的是哪个品牌的数据库)

  第二步:获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完之后一定要关闭通道。)

  第三步:获取数据库操作对象(专门执行sql语句的对象)

  第四步:执行SQL语句(DQL DML....)

  第五步:处理查询结果集(只有当第四步执行的是select语句的时候,才有这第五步处理查询结果集。)

  第六步:释放资源(使用完资源之后一定要关闭资源。Java和数据库属于进程间的通信,开启之后一定要关闭。)
1
2
3
4
5
6
7
8
9
10
11
/*
JDBC 编程六步
*/
import java.sql.*;

public class JDBCTest{
  public static void main (String[] args){
    Connection conn=null;
    Statement stat=null;
    try{
      //1 注册驱动
      Driver driver = new com.mysql.cj.jdbc.Driver();//多态,父类型对象引用指向子类型对象
      DriverManager.registerDriver(driver);
      //2 连接驱动
      String url="jdbc:mysql://127.0.0.1:3306/mydbtest?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true";
      String user="root";
      String password="root";
      conn = DriverManager.getConnection(url,user,password);
      //3 获取数据库操作对象(Statement专门执行sql语句的)
      stat =conn.createStatement();
      //4 执行sql 
      String sql = "insert into dept(deptno,dname,loc) values(50,'人事部','北京')";
      //专门执行DML语句的(insert,delete,update)
      //返回值是 “影响数据库中的记录条数”
      int count = stat.executeUpdate(sql);
      System.out.println(count == 1 ?"保持成功":"保存失败");
      //5 处理查询结果
    }catch(SQLException e){
      e.printStackTrace();
    }finally{
      //6 释放资源
      //为了保证资源一定释放,在finally 语句块中关闭资源
      //并且要遵循从小到大依次关闭
      //分别对其try..catch
      try{
        if(stat!=null){
        stat.close();
        }
      }catch(SQLException e){
        e.printStackTrace();
      }
      
      try{
        if(conn!=null){
        conn.close();
        }
      }catch(SQLException e){
        e.printStackTrace();
      }
      
    }
  }
}

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
上次更新: 2022/04/01, 15:14:40
JVM
IO

← JVM IO→

Theme by Vdoing Copyright © 2020-2022 Jared H
粤ICP备20046800号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×