好程序员Java教程解读JDBC是什么
好程序员解读JDBC是什么,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();
}
}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341