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 协议 ,转载请注明出处!