本文介绍所用软件的版本:
InteIIiJ IDEA 2021.1.3 (UItimate Edition)
MySQL Community Server - GPL Server version: 8.0.32
mysql-connector-java-8.0.11.jar
一.连接数据库mysql大致需要如下六个步骤:
- 导入数据库驱动架包
- 配置数据库连接信息
- 获取连接数据库对象
- 创建一个Statement对象
- 执行SQL语句
- 释放连接
1.导入数据库驱动架包
新建 libs 文件夹,然后把 mysql 的驱动包抄到 libs 目录,然后选中驱动包右键–>选Add as library 即可!
2.配置数据库连接信息
//MySQL 8.0 以下版本 - JDBC 驱动名与数据库 URL
static final String JDBC_DRIVER = "com.mysql.jdbc.driver
static final String DB_URL = "jdbc:mysql://localhost:3306/db_name"
/MySQL 8.0 以上版本 - JDBC 驱动名与数据库 URL
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/db_name?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
//用户的数据库名和密码
static final String USER = "root";
static final String PASS = "123456";
3.获取连接数据库对象
con = DriverManager.getConnection(DB_URL, USER, PASS);
4.创建一个Statement对象
创建一个Statement对象,用于向数据库发送SQL语句。不带参数的SQL语句通常使用Statement对象执行。
stmt = con.createStatement();
5.执行SQL语句
String sql;
sql = “select id,name,url from websites”;
ResultSet rs = stmt.executeQuery(sql);
6.释放连接
rs.close();
stmt.cancel();
con.close();
下面是代码示例:
import java.sql.*;
public class MysqlDemo {
//MySQL 8.0 以下版本 - JDBC 驱动名与数据库 URL
/*static final String JDBC_DRIVER = "com.mysql.jdbc.driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/db_name";*/
//MySQL 8.0 以上版本 - JDBC 驱动名与数据库 URL
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/db_name?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
//用户的数据库名和密码
static final String USER = "root";
static final String PASS = "123456";
public static void main(String[] args) {
Connection con = null;
Statement stmt = null;
try {
//注册 JDBC 驱动,并加载驱动程序
Class.forName(JDBC_DRIVER);
//连接数据库
System.out.println("数据库连接...");
con = DriverManager.getConnection(DB_URL, USER, PASS);
// 执行查询
System.out.println("实例化Statement对象...");
stmt = con.createStatement();
String sql;
sql = "select id,name,url from websites";
ResultSet rs = stmt.executeQuery(sql);
//结果集展示
while (rs.next()) {
//通过字段检索
int id = rs.getInt("id");
String name = rs.getString("name");
String url = rs.getString("url");
//打印输入数据
System.out.println("ID" + id);
System.out.println("NAME" + name);
System.out.println("URL" + url);
System.out.println();
}
//完成后关闭连接
rs.close();
stmt.cancel();
con.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
//关闭资源
try {
if (stmt != null) {
stmt.close();
}
} catch (SQLException e) {
e.printStackTrace();
} //什么都不做
try {
if (con != null) {
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}