Java操作MySQL数据库

本文最后更新于:1 年前

1 - 首先, Java要连接MySQL数据库需要安装驱动包mysql-connector-java-8.0.16.jar, 并导入此包

2 - 准备相应的数据

static final String USER = "用户名";
static final String PASS = "密码";
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/数据库名称
?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";

3 - 连接数据库

3.1 导入sql包

import java.sql.*;

3.2 连接数据库

Connection conn = null;
Statement stmt = null;
// 注册 JDBC 驱动
Class.forName(JDBC_DRIVER);
// 打开链接
System.out.println("连接数据库...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);

3.3 执行sql语句

// 执行查询
System.out.println(" 实例化Statement对象...");
stmt = conn.createStatement();
String sql;
sql = "SELECT * FROM students";
ResultSet rs = stmt.executeQuery(sql);

3.4 获取数据

int id  = rs.getInt("id");
String name = rs.getString("name");
String age = rs.getString("age");

3.5 打印数据

System.out.println("我是" + id + "号同学, 我的名字是: " + name + ",
 我今年" + age + "岁.");
// 输出结果
我是1号同学, 我的名字是: 刘德华, 我今年56岁.

4 - 完整代码

public class MySqlDemo {
static final String USER = "用户名";
static final String PASS = "密码";
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/数据库名称
?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";

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);

        // 执行查询
        System.out.println(" 实例化Statement对象...");
        stmt = conn.createStatement();
        String sql;
        sql = "SELECT * FROM students";
        ResultSet rs = stmt.executeQuery(sql);
        System.out.println(rs);
        // 展开结果集数据库
        while(rs.next()){
            // 通过字段检索
            int id  = rs.getInt("id");
            String name = rs.getString("name");
            String age = rs.getString("age");

            // 输出数据
            System.out.println("我是" + id +
                    "号同学, 我的名字是: " + name +
                    ", 我今年" + age + "岁.");
        }
        // 完成后关闭
        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("Goodbye!");
  }
}

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!