欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

本地使用JDBC连接MySQL,并读取数据详细步骤

程序员文章站 2022-03-29 19:39:54
...

本地使用JDBC连接MySQL,并读取数据

一、下载jar包

1.官网地址:jar包下载地址

2.选择Platform Independent:
本地使用JDBC连接MySQL,并读取数据详细步骤
3.下载第二个:
本地使用JDBC连接MySQL,并读取数据详细步骤4.选择No thanks, just start my download.:
本地使用JDBC连接MySQL,并读取数据详细步骤
5.解压下载成功的压缩包至指定位置,(请记住该路径,将在导入jar包时使用),此处以D:\mysql-connector-java-8.0.19为例:
本地使用JDBC连接MySQL,并读取数据详细步骤

二、导入jar包

1.在新创建的JavaEE项目的WEB-INF下创建两个文件夹:classes和lib(classes文件夹用于存储程序编译时的文件,lib文件夹用于存储mysql jdbc的驱动包):
本地使用JDBC连接MySQL,并读取数据详细步骤
2.导入解压后的jar包:
本地使用JDBC连接MySQL,并读取数据详细步骤
3.将解压后得到的mysql-connector-java-5.1.48.jar放入lib文件夹下(直接通过外部文件夹放入即可):
本地使用JDBC连接MySQL,并读取数据详细步骤

三、在本地MySQL数据库写入数据

1.启动MySQL数据库:

//以管理员身份启动cmd命令行工具,更改目录到mysql安装路径下的bin文件
cd /d D:\MySQL\mysql-8.0.19-winx64\bin
//启动数据库后,输入密码
mysql -u root -p

本地使用JDBC连接MySQL,并读取数据详细步骤
2.新建数据库:

mysql> create database mysql_database;
Query OK, 1 row affected (0.08 sec)

3.使用该数据库:

mysql> use mysql_database;
Database changed

4.在该数据库下建表:

mysql> create table student(
    -> id int(5) not null,
    -> name char(20) not null);
Query OK, 0 rows affected, 1 warning (0.43 sec)

5.向该表插入数据:

mysql> insert into student values('10000','AAA');
Query OK, 1 row affected (0.07 sec)
mysql> insert into student values('10001','BBB');
Query OK, 1 row affected (0.03 sec)

6.提交该修改:

mysql> commit;
Query OK, 0 rows affected (0.01 sec)

四、在IDEA中读取数据

1.在IDEA的src文件夹下创建类student.java编写代码,代码如下:
注意:
① MySQL 8.0及以上版本的JDBC驱动名及数据库URL与8.0一下版本不同:

// MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
    static final String DB_URL = "jdbc:mysql://localhost:3306/mysql_database";

②DB_URL中的mysql_database为我的使用的数据库名称,若与之不同,请根据个人情况自行修改。

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

import java.sql.*;

public class student {

    static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost:3306/mysql_database?serverTimezone=UTC";
    //mysql_database为我使用的数据库名称,请根据个人情况自行修改

    // 数据库的用户名与密码,需要根据本地MySQL数据库设置
    static final String USER = "root";
    static final String PASS = "123456";

    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        try {
            // 注册 JDBC 驱动
            Class.forName(JDBC_DRIVER);

            // 打开链接
            System.out.println("连接数据库...");
            conn = DriverManager.getConnection(DB_URL,USER,PASS);

            // 执行查询
            stmt = conn.createStatement();
            String sql;
            sql = "SELECT id, name FROM student";
            ResultSet rs = stmt.executeQuery(sql);

            // 展开结果集数据库
            while(rs.next()) {
                // 通过字段检索
                int id  = rs.getInt("id");
                String name = rs.getString("name");

                // 输出数据
                System.out.print("学号: " + id);
                System.out.print(", 姓名: " + name);
                System.out.print("\n");
            }

            // 完成后关闭
            rs.close();
            stmt.close();
            conn.close();
        } catch(SQLException se) {
            // 处理 JDBC 错误
            se.printStackTrace();
        } catch(Exception e) {
            // 处理 Class.forName 错误
            e.printStackTrace();
        }finally {
            // 关闭资源
            try {
                if(stmt!=null) stmt.close();
            } catch(SQLException se2){ }

            try {
                if(conn!=null) conn.close();
            } catch(SQLException se) {
                se.printStackTrace();
            }
        }
        System.out.println("数据读取结束!");
    }
}

2.运行后结果:
本地使用JDBC连接MySQL,并读取数据详细步骤

五、注意事项

1.IDEA的src文件夹下创建的类student.java中编写的代码一定要注意根据个人具体情况进行修改。
2.在使用JDBC连接MySQL前本地需已经正确安装配置MySQL数据库
若未安装MySQL或想了解是否正确安装MySQL,请查看博文:本地安装MySQL详细步骤