jdbc快速开始

文章目录

jdbc 就是使用java语言操作关系型数据库的一套api

jdbc本质:

  • 官方(sun公司)定义的一套操作所有关系型数据库的规则,就是接口
  • 各个数据库厂商去实现这套接口,提供数据库驱动jar包
  • 我们可以使用这套接口编程,真正执行的代码就是驱动jar包中的实现类

jdbc的好处

  • 各个数据库常熟使用相同的接口,java代码不需要针对不同的数据库分别开发
  • 可随时替换底层数据库,访问数据库的java代码基本不动

快速开始

  1. maven导入mysql驱动

    xml 复制代码
    <!-- mysql 驱动 -->
    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <version>8.0.33</version>
    </dependency>
    <!--单元测试-->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>RELEASE</version>
        <scope>compile</scope>
    </dependency>
  2. java代码

    java 复制代码
    String url = "jdbc:mysql://127.0.0.1:3306/db1";
    String username = "root";
    String password = "root1234";
    String className = "com.mysql.cj.jdbc.Driver";
    
    // 1. 注册驱动
    try {
        // 这个可以不用写,mysql驱动里面配置了
        // 会自动加载jar包中META-INF/services/java.sql.Driver文件中的驱动类
    //            Class.forName(className);
        // 2. 获取连接
        Connection conn = DriverManager.getConnection(url, username, password);
        // 3. 定义sql语句
        String sql = "update account set money = 2000 where id = 1";
        // 4. 获取执行sql的对象 statement
        Statement statement = conn.createStatement();
        // 5. 执行sql语句
        int count = statement.executeUpdate(sql);
        // 6. 处理结果
        System.out.println("count: " + count);
        // 7. 释放资源
        statement.close();
        conn.close();
    } catch (Exception e) {
        throw new RuntimeException(e);
    }

参考文献

1. 黑马程序员JavaWeb基础教程

相关推荐
独泪了无痕5 小时前
探索Pinyin4j-Java中的拼音转换利器
java·后端
道尔柯南6 小时前
C++ string 类详解:从常用接口到深拷贝,彻底掌握字符串处理
android·java·c++
Nturmoils7 小时前
集中式与分布式怎么选:从订单读写看 KingbaseES 的架构边界
数据库
xiaomuzuirenzhen7 小时前
大专电子商务从事电商运营分析师需要考证吗?
大数据·数据库
kingx37 小时前
Bugku 3122 谷歌小恐龙题解:纯离线逆向 Vault 的 AES-GCM 加密资源(附 Python 解密器)
java·逆向·ctf·bugku·aes-gcm
翔云1234569 小时前
RocksDB中,客户端每写入一次数据,需要访问几次磁盘
运维·数据库·mysql
DevOpenClub10 小时前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考
露天赏雪11 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
天天被压力11 小时前
【A股分钟级高频数据完全手册 #06】北交所分钟级数据接口:京市股票Pro版最新分时
java·人工智能·python
GeW11 小时前
新质生产力路线图解读:数据库性能优化与Linux调优专场
linux·数据库