前言
Java中使用JDBC驱动连接和操作数据库。
一、JDBC是什么?
JDBC全称Java DataBase Connectivity,是一套面向对象的API,制定了统一的访问各种关系型数据库的标准接口。(JDBC不能直接访问数据库,必须依赖于数据库厂商提供的JDBC驱动程序)
二、使用步骤
1.连接数据库
(1)用到的类与方法
- 加载数据库驱动
- 连接数据库
- Class DriverManager
static Connection
getConnection(String url, String user, String password)
尝试建立与给定数据库URL的连接。
(2)代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Test {
public static void main(String args[]) {
try {
//加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//定义数据库地址url(格式为"jdbc:mysql://IP地址:数据库端口号/数据库名"),用户名,密码
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "123456";
//获取数据库连接对象,建立连接
Connection con = DriverManager.getConnection(url, username, password);
System.out.println("连接成功!");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}catch (SQLException e) {
e.printStackTrace();
}
}
}
2.对数据库操作
(1)封装连接类
下面将数据库的连接单独封装成一个ConnectDB类,需要连接时直接调用其类的方法获取连 接,增加代码重用性。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectDB {
public static Connection getConnect() { //创建返回值为Connection对象的方法
Connection connection = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver"); //加载数据库驱动
String url = "jdbc:mysql://localhost:3306/test"; //定义数据库地址url(格式为"jdbc:mysql://IP地址:数据库端口号/数据库名"),用户名,密码
String username = "root";
String password = "123456";
connection = DriverManager.getConnection(url, username, password); //获取数据库连接对象,建立连接
System.out.println("连接成功!");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
}
(2)用到的类与方法
- 获取Statement对象(用于执行SQL语句)
- Interface Connection
Statement
创建一个
Statement
对象,用于将SQL语句发送到数据库。- 接收数据库操作语句,返回数据以结果集的形式给ResultSet对象
- Interface Statement
ResultSet
executeQuery(String sql)
执行给定的SQL语句,该语句返回单个
ResultSet
对象。
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Test {
static Connection connection; //声明对象
static ConnectDB connectDB; //自定义的连接类对象
static Statement statement; //接收发送SQL语句
static ResultSet resultSet; //接受查询的结果集
public static void main(String args[]) {
connection = connectDB.getConnect(); //连接数据库
try {
statement = connection.createStatement(); //实例化Statement对象
resultSet = statement.executeQuery("Select * From student"); //statement接受数据库语句,返回的数据以结果集形式给resultSet
while (resultSet.next()) { //遍历结果集,到最后一项结束循环
String id = resultSet.getString("sNO"); //获得列名是id的字段值
System.out.println("学号:" + id);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}