JDBC 连接MySQL 简单的增删改查(含测试代码)

本文详细介绍了JDBC的基础概念,如何在IDEA中连接MySQL,包括驱动的配置、编程步骤(驱动注册、连接建立、SQL执行及结果处理)、测试代码实例,并总结了整个过程。适合初学者理解JDBC在Java数据库操作中的应用。
摘要由CSDN通过智能技术生成


一、JDBC简介

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API。JDBC API提供了一个标准接口,用于与任何关系数据库管理系统(RDBMS)进行交互。
在这里插入图片描述
本质:

JDBC是SUN公司制定的一套接口(interface)java.sql.*; (这个软件包下有很多接口)
所以JDBC的本质是一套接口
因为每一个数据库的底层实现原理都不一样,每一个数据库产品都有自己独特的实现原理
所以SUN要制定一套JDBC接口
在这里插入图片描述

二、IDEA连接MySQL

连接之后,在idea里面就可以直接对数据库进行编辑,就相当于一个编辑器
在这里插入图片描述
在这里插入图片描述
用户名一般都是root如果你没有改的话,数据库就填数据库的名字
在这里插入图片描述
然后点击+导入你的jar包,点击应用然后确定就好了
在这里插入图片描述
然后我们简单测试一下
在这里插入图片描述
简单创个表,方便后面使用
测试代码

create table student(
    id varchar(50) primary key,
    name varchar(50)
);
insert into student values('201','x');
insert into student values('202','i');
insert into student values('203','a');
insert into student values('204','o');
insert into student values('205','t');
select * from student;

在这里插入图片描述

三、JDBC连接MySQL

1.配置驱动

IDEA连接MySQL和在IDEA用JDBC连接MySQL是两个事,刚开始学的时候想岔了
IDEA连接MySQL实现的是一个编辑器的功能
首先需要导入我们的驱动jar包,数据库的官网应该都会有
选择 文件 ->项目结构,或者直接按F4
在这里插入图片描述
然后点击模块,右侧的依赖,再点击+号就可以导入驱动jar包了,然后应用确定即可
在这里插入图片描述

2.编程步骤

完整的测试代码在后面

(1).注册驱动

告诉Java程序,即将要连接的是哪个品牌的数据库
有两种方法:
需要分别抛出SQLException 或者 **ClassNotFoundException **异常
在这里插入图片描述
在这里插入图片描述
那啥,我自己测试的时候好像没有注册驱动也可以,不知道为什么

(2).获取连接

表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完之后一定要关闭通道
url ="jdbc:mysql://ip:端口号/数据库名"
在这里插入图片描述

(3).获取数据库对象

Statement是专门执行sql语句的类
在这里插入图片描述

(4).执行SQL语句

Statement的executeUpdate方法专门执行dml语句(insert delete update)返回值是”影响数据库中的记录条数“
在这里插入图片描述

(5).处理查询结果集

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

ResultSet 结果集,存储查询语句的结果
Statement的executeQuery方法专门执行dql语句(select)返回值是结果集
rs是Result对象
next方法将当前光标下移一行,如果该行有数据,rs.next()返回true
getSring方法取出当前行的数据,默认为string。getInt,getDouble可以取出相应的数据
方法值填结果集的列名(结果集的列明和表的名字是一样的)或者列号(列号从1开始)
在这里插入图片描述
在这里插入图片描述

(6).释放资源

使用完资源之后一定要关闭资源。Java和数据库属于进程间的通信,开启之后一定要关闭
在这里插入图片描述

3.测试代码

有些注释掉了

import java.sql.*;

public class Test {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            //注册驱动
            Driver driver = new com.mysql.cj.jdbc.Driver();
            DriverManager.registerDriver(driver);
            Class.forName("com.mysql.cj.jdbc.Driver");
            //获取连接
            String url ="jdbc:mysql://127.0.0.1:3306/new";
            String user ="root";
            String password ="123";
            conn  = DriverManager.getConnection(url,user,password);

            //获取数据库操作对象
            stmt = conn.createStatement();

            //执行sql
            //String sql = "insert into office student values('222','XTong')";
            //专门执行dml语句(insert delete update)
            //int count = stmt.executeUpdate(sql);
            //System.out.printf(count == 1 ? "yes":"no");

            String sql2 = "select * from student";
            //专门执行DQL语句的方法
            rs = stmt.executeQuery(sql2);
            //处理查询结果集
            while (rs.next()){
                String id = rs.getString("id");
                String name = rs.getString("name");
                System.out.println(id + " " + name);
            }
        } catch (SQLException | ClassNotFoundException e) {
            e.printStackTrace();
        }
        finally {
            //释放资源
            try{
                if(stmt != null){
                    stmt.close();
                }
            }
            catch (SQLException e){
                e.printStackTrace();
            }
            try{
                if(rs != null){
                    rs.close();
                }
            }
            catch (SQLException e){
                e.printStackTrace();
            }
            try{
                if(conn != null){
                    conn.close();
                }
            }
            catch (SQLException e){
                e.printStackTrace();
            }

        }
    }
}

测试结果:
在这里插入图片描述


总结

学习中,简单记录一下。如有不对,敬请指正

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值