4.1 JDBC使用

我们在前面创建了一张表staff,我们现在用编程的方式读出该表。

Navicat Premium使用​

《数据库 MySQL》第4章 JDBC基本使用(Java)_Java


图1

打开eclipse,新建一个【java项目-JDBC】。

《数据库 MySQL》第4章 JDBC基本使用(Java)_MySQL_02


图2

【注】如果没有添加JDBC,下载JDBC包后,放在某个目录下,点击JDBC【这里指工程名】右键,【Build Path】 —> 【Configure Build Path…】—> 【Libraries】,点击【Add External JAR(x)…】,选择解压文件中的【mysql-connector-java-8.0.15.jar】—>【Apply and Close】完成设置。

《数据库 MySQL》第4章 JDBC基本使用(Java)_Java_03


图3

《数据库 MySQL》第4章 JDBC基本使用(Java)_Java_04


图4

《数据库 MySQL》第4章 JDBC基本使用(Java)_MySQL_05


图5

接下来就是写代码了。

《数据库 MySQL》第4章 JDBC基本使用(Java)_sql_06


图6

编译运行后可以看到结果如下:

《数据库 MySQL》第4章 JDBC基本使用(Java)_JDBC_07


图7

【本文代码】

package com;

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


public class main {
public static void main(String[] args){
// 加载数据库驱动 com.mysql.jdbc.Driver
String driver = "com.mysql.cj.jdbc.Driver";
// 获取mysql连接地址
String url = "jdbc:mysql://localhost:3306/test?&useSSL=false&serverTimezone=UTC";
// 数据名称
String username = "root";
// 数据库密码
String password = "******";//root密码
// 获取一个数据的连接
Connection conn = null;
//创建statement类对象
Statement statement = null;
//ResultSet类,存放结果
ResultSet rs = null;

// 获取连接的一个状态
try{
//第一步:加载数据库驱动
Class.forName(driver);

//第二步:getConnection()方法,连接MySQL数据库!
conn=DriverManager.getConnection(url,username,password);
if(!conn.isClosed())
System.out.println("数据库连接成功!");

//第三步:创建statement类对象,用来执行SQL语句!
statement = conn.createStatement();

//要执行的SQL语句
String sql = "select * from staff" ;

//第四步:ResultSet类,用来存放获取的结果集!
rs = statement.executeQuery(sql);

System.out.println("-------------------------------");
System.out.println("执行结果如下所示:");
System.out.println("-------------------------------");
System.out.println("num" + "\t" + "name"+"\t"+"age");
System.out.println("-------------------------------");

String num;
String name=null;
String age;
while(rs.next())
{
//获取‘num’这列数据
num=rs.getString("num");
//获取‘name’这列数据
name=rs.getString("name");
//获取‘age’这列数据
age=rs.getString("age");

//输出结果
System.out.println(num+"\t"+name+"\t"+age);
}
}
catch(ClassNotFoundException e){
//数据库驱动类异常处理
System.out.println("数据库驱动加载失败!");
e.printStackTrace();
}
catch(SQLException e1){
//数据库连接失败异常处理
e1.printStackTrace();
}
catch(Exception e2){
e2.printStackTrace();
}
finally{
try {
if(rs != null){
rs.close();
rs = null;
}
if(statement != null) {
statement.close();
statement = null;
}
if(conn != null) {
conn.close();
conn = null;
}
}
catch(SQLException e){
e.printStackTrace();
}
System.out.println("-------------------------------");
System.out.println("数据库数据获取成功!");
}
}
}

4.2 JDBC总结

 JDBC连接的基本过程如下:


① class.forName(“com.mysql.cj.jdbc.Driver”).newInstance();
作用:加载驱动程序类,这里加载mysql的jdbc驱动



② connection conn = DriverManager.getConnection(url,“user”,“password”);
作用:建立连接



③ Statement statement = conn.createStatement();
作用:通过这个连接连接sql语句执行的容器



④ String sql = “select * from table1”;
作用:建立sql语句



⑤ ResultSet rs = statement.executeQuery(sql);
作用:利用前面的sql容器执行刚建立的sql语句,并把结构返回到结果集对象中。



⑥ 分析获取的查询结果