原创

JDBC连接数据库

温馨提示:
本文最后更新于 2022年06月25日,已超过 910 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

在框架盛行的年代,传统的jdbc连接数据库相信很多人已经忘记了,或许也只有学校会用到了,今天就带大家来复习一下,同时给新学习的小伙伴一个参考,如有不对望指正。

1、什么是JDBC

首先,来解释一下什么是JDBC,Java DataBase Connectivity,它是Java数据库连接 的缩写,它提供了一套流程用于我们在Java代码中去操作我们的数据库。

其次,在JDBC中主要用到3个对象
Connection对象:用于获取对于数据库的连接
Statement对象:建立了连接之后,需要有操作SQL的对象
ResultSet对象:操作完SQL要有能够接受结果的对象

2、为什么要使用JDBC呢

相信有过工作或者实习的经验的小伙伴或有所体会,在工作的项目中使用框架来操作数据库(例如mybatis框架),写SQL都是非常方便的,但有时候领导让你写个小工具或者小脚本,难道我们还要把整个框架搭建起,建mapper文件再建xml文件,再去实现我们的功能吗?

当然了那并不是一个好的方法,所以我们再识JDBC。

3、如何使用JDBC

今天就带大家实战一下,在Java中如何使用JDBC来进行MySQL数据库的增删改查,源码文末下载

MySQL版本:5.7
驱动版本:mysql-connector-java-5.1.48

注意:MySQL8版本的不适用,需要下载匹配的的驱动版本

3.1 创建一个学生表

CREATE TABLE student(
    `id` INT ,
    `name` VARCHAR(40),
    `age` int
);

在Navicat中执行以上SQL创建一个空的学生表

file

3.2 通过JDBC来操作学生表

package com.it1997;

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

public class MysqlTest {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        // 1、加载驱动(mysql 8 以上换成com.mysql.cj.jdbc.Driver) ClassNotFoundException,
        Class.forName("com.mysql.jdbc.Driver");

        // 2、数据库连接信息
        String url = "jdbc:mysql://localhost:3306/library?useUnicode=true&useCharacter=utf8&useSSL=true";
        String username = "root";//数据库用户名
        String password = "123456";//数据库密码

        // 3、获取数据库连接对象  只有连接上数据库才可以操作数据库
        Connection connection = DriverManager.getConnection(url, username, password);

        // 4、从连接对象中获取执行sql的statement对象
        Statement statement = connection.createStatement();

        // 5、通过statement对象来执行SQL语句
        String sql = "select * from student"; //sql查询语句
        String insertSql = "insert into student values(1,'小陈没烦恼',20);";
        String updateSql = "update student set age = 18 where id = 1";
        // 6、通过statement的execute方法执行SQL 可以执行增删改查的所有SQL 返回一个布尔值
        boolean iFlag = statement.execute(insertSql);
        boolean uFlag = statement.execute(updateSql); // 将年龄修改为18

        // 7、通过resultSet对象来接收查询的结果
        ResultSet resultSet = statement.executeQuery(sql);
        while (resultSet.next()){
            System.out.println("id="+resultSet.getObject("id"));
            System.out.println("name="+resultSet.getObject("name"));
            System.out.println("age="+resultSet.getObject("age"));

        } // 输出结果

        // 释放连接 注意释放顺序,先创建的最后释放
        resultSet.close();
        statement.close();
        connection.close();
    }

}

3.3运行结果

file
file

3.4 下载链接

链接:https://pan.baidu.com/s/1Ap14WFFGN4aVc36UhDEgVg
提取码:1997

正文到此结束
本文目录