JDBC简介-?JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序
-?Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。
-?JDBC可以在各种平台上使用Java,如Windows,Mac OS和各种版本的UNIX。
-?JDBC库包括通常与数据库使用相关的下面提到的每个任务的API。
JDBC使用步骤
????-?连接数据库。
????-?创建SQL或MySQL语句。
????-?在数据库中执行SQL或MySQL查询。
????-?查看和修改生成的记录。
JDBC核心组件
?DriverManager:
?????此类管理数据库驱动程序列表。使用通信子协议将来自java应用程序的连接请求与适当的数据库驱动程序匹配。
-?Driver:
????*?此接口处理与数据库服务器的通信,我们很少会直接与Driver对象进行交互。而是使用DriverManager对象来管理这种类型的对象。
?Connection:
?????该界面具有用于联系数据库的所有方法。连接对象表示通信上下文,即,与数据库的所有通信仅通过连接对象。
?Statement:
?????使用从此接口创建的对象将SQL语句提交到数据库。除了执行存储过程之外,一些派生接口还接受参数。
?ResultSet:
?????在使用Statement对象执行SQL查询后,这些对象保存从数据库检索的数据。它作为一个迭代器,允许我们移动其数据。
?SQLException:
?????此类处理数据库应用程序中发生的任何错误
JDBC案例代码
package com.qianfeng.demos;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Demo01 {
????public static void main(String[] args) throws ClassNotFoundException, SQLException {
????????// 1.加载驱动
????????// DriverManager.registerDriver(new com.mysql.jdbc.Driver());
????????Class.forName("com.mysql.jdbc.Driver");
????????String url = "jdbc:mysql://localhost:3306/students?useSSL=false";
????????String user = "root";
????????String password = "root";
????????// 2.获取java和数据库的链接
????????Connection conn = DriverManager.getConnection(url, user, password);
????????
????????// 3.获取statement对象,执行SQL语句
????????Statement stmt = conn.createStatement();
????????
????????// 4.编写SQL语句
????????String sql = "select * from shuihu";
????????
????????// 5.执行sql语句,获取返回结果
????????ResultSet resultSet = stmt.executeQuery(sql);
????????
????????// 6.编写循环,不断判断和获取resultset中的内容
????????while(resultSet.next()) {
????????????System.out.println(resultSet.getObject(1)
????????????????????+ "\t" + resultSet.getObject(2)
????????????????????+ "\t" + resultSet.getObject(3)
????????????????????+ "\t" + resultSet.getObject(4)
????????????????????+ "\t" + resultSet.getObject(5)
????????????????????+ "\t" + resultSet.getObject(6));
????????}
????????
????????// 7.释放资源
????????resultSet.close();
????????stmt.close();
????????conn.close();
????}
}
原文地址:https://blog.51cto.com/14256902/2423563