概述
Java Database Connectivity,Java数据库连接。是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,所以说,JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。
配置环境
数据库并不是Java提供的,所以在Java中如果想连接数据库,肯定需要使用第三方jar包,这些jar包是数据库厂商根据JDBC接口模型开发的自己数据库的连接包。文章里使用的数据库是mysql,所以使用mysql-connector。
基础操作
注册驱动、建立连接、创建Statement、执行查询,获得结果集、处理结果集、释放资源。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Test {
public static void main(String[] args) throws Exception {
Connection con = null;
Statement statement = null;
ResultSet query = null;
try {
/**
* 1、注册驱动:在使用JDBC连接连接数据库的时候,Java程序并不知道自己是否连接上了相应的
* 数据库,所以在第一步需要注册驱动,如果连接正常则可以进行接下来的操作。也
* 就是说注册驱动这一步是通过我们导入的jar包测试能否正常连接数据库。
*/
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
/**
* 2、获得连接:数据库服务器中可能存在多个数据库,我们需要连接上我们即将使用的数据库。
*/
con = DriverManager.getConnection("jdbc:mysql://localhost/jdbc-study", "root", "root");
/**
* 3、创建Statement:如果想和数据库进行交互,一定需要使用这个类。JDK对他的解释是:
* The object used for executing a static SQL statementand returning the results it produces.
*/
statement = con.createStatement();
/**
* 4、执行查询,获得结果集:想数据库中注入SQL语句,是我们能够进行操作
*/
String sql = "select * from students";
/**
* 5、处理结果集:query是数据库中的元组集合,可以通过循环获得每个元组
*/
query = statement.executeQuery(sql);
while(query.next()){
String id = query.getString("id");
String name = query.getString("name");
String clazz = query.getString("clazz");
System.out.println(id + " " + name + " " + clazz);
}
}catch (Exception e) {
e.printStackTrace();
}finally {
/**
* 6、释放资源:操作结束后进行操作
*/
if(query != null)
query.close();
if(statement != null)
statement.close();
if(con != null)
con.close();
}
}
}