4.1 JDBC使用
我们在前面创建了一张表staff,我们现在用编程的方式读出该表。
Navicat Premium使用
图1
打开eclipse,新建一个【java项目-JDBC】。
图2
【注】如果没有添加JDBC,下载JDBC包后,放在某个目录下,点击JDBC【这里指工程名】右键,【Build Path】 —> 【Configure Build Path…】—> 【Libraries】,点击【Add External JAR(x)…】,选择解压文件中的【mysql-connector-java-8.0.15.jar】—>【Apply and Close】完成设置。
图3
图4
图5
接下来就是写代码了。
图6
编译运行后可以看到结果如下:
图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语句,并把结构返回到结果集对象中。
⑥ 分析获取的查询结果