使用JDBC操作数据库(IDEA编译器)

目录

JDBC的本质

​ JDBC好处

JDBC操作MySQL数据库

1.创建工程导入驱动jar包

2.编写测试代码

​相关问题


JDBC的本质

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

JDBC好处

  • 各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发

  • 可随时替换底层数据库, 访问数据库的Java代码基本不变


    JDBC操作MySQL数据库

1.创建工程导入驱动jar包

01

02

03

2.编写测试代码

java 复制代码
package JDBC;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class JDBCDemo {
    public static void main(String[] args) throws Exception {
          //1.注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2.获取连接
        String url = "jdbc:mysql://127.0.0.1:3306/db01";
        String username = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url,username,password);
        //3.定义sql
        String sql = "update user set  password = 666666 where id = 1";
        //4.获取执行sql的对象Statement
        Statement stmt = conn.createStatement();
        //5.执行sql
        int count = stmt.executeUpdate(sql);
        //6.处理结果
        System.out.println(count);
        //7.释放资源
        stmt.close();
        conn.close();
    }
}

问题

关于//1.注册驱动 Class.forName("com.mysql.jdbc.Driver"); 为什么可以注册驱动成功?

我们找到如下内容就会发现我们下载的jar包中已经注册了

java 复制代码
// Driver 接口,所有数据库厂商必须实现的接口,表示这是一个驱动类。
public class Driver extends com.mysql.cj.jdbc.Driver {
    public Driver() throws SQLException {
    }

    static {
        System.err.println("Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.");
    }
}

从 JDBC3 开始,可以不用注册驱动而直接使用。Class.forName("com.mysql.jdbc.Driver"); 这句话可以省略。

相关推荐
希忘auto7 分钟前
详解MySQL安装
java·mysql
冰淇淋烤布蕾18 分钟前
EasyExcel使用
java·开发语言·excel
拾荒的小海螺25 分钟前
JAVA:探索 EasyExcel 的技术指南
java·开发语言
Jakarta EE41 分钟前
正确使用primefaces的process和update
java·primefaces·jakarta ee
马剑威(威哥爱编程)1 小时前
哇喔!20种单例模式的实现与变异总结
java·开发语言·单例模式
java—大象1 小时前
基于java+springboot+layui的流浪动物交流信息平台设计实现
java·开发语言·spring boot·layui·课程设计
杨哥带你写代码2 小时前
网上商城系统:Spring Boot框架的实现
java·spring boot·后端
camellias_2 小时前
SpringBoot(二十一)SpringBoot自定义CURL请求类
java·spring boot·后端
布川ku子2 小时前
[2024最新] java八股文实用版(附带原理)---Mysql篇
java·mysql·面试
向阳12182 小时前
JVM 进阶:深入理解与高级调优
java·jvm