JDBC定义:
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。
简单地说,JDBC 可做三件事:与数据库建立连接、发送 SQL 语句并处理结果。
此实例为SQLServer2005的驱动链接
Connection conn=null;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String strConn="JDBC:sqlserver://localhost:1433;DatabaseName=TestData";
String strUser="sa";
String strPassword="";
conn=DriverManager.getConnection(strConn,strUser,strPassword);
Statement stmt=conn.createStatement();
DirverManager类:是JDBC的管理层,作用于用户和驱动之间。该类负责注册和加载JDBC驱动。
Connection接口:代表与数据库的链接,并拥有创建SQL语句的方法,以完成基本的SQL操作,同时为数据库事务提供提交和回滚方法。如:上面的例子就是链接到了TestData数据库。
Statement接口:用于执行不带参数的简单SQL语句。创建Statement实例对象后可以调用JDBC提供的3种执行SQL语句的方法:
(1)executeUpdate()方法,一般用于执行SQL的INSERT,DELETE,UPDATE语句
(2)executeQuery()方法,一般用于执行SQL的SELECT语句,因为 它的返回值是执行SQL语句后产生的一个ResultSet接口的实例(结果集)
(3)execute()方法,即一般它执行的SQL语句既有查询又有更新值,约等于executeUpdate()和executeQuery()两个方法的合辑。
PreparedStatement接口:它与Statement 的主要区别
(1)它包含的SQL语句是预编译的,所以当多次执行一条SQL语句时用它会更快
(2)在设置参数是可以用“?”代替。如:
PreparedStatement pstmt=conn.preparedStatement(insert into test values(?,?));
pstmt.setString(1,'gg');
pstmt.setString(2,'123');
ResultSet接口:包含了Statement和PreparedStatement的executeQuery方法中SELECT的结果集。相当于用它来读取数据库里每列的值。
DatabaseMetaData接口:主要是用来得到数据库的相关信息的。如:数据库版本啊。。。
ResultSetMetaData接口:主要是用来获取数据库中表的相关信息的。如:表的行数啊。。。
分享到:
相关推荐
标题和描述均聚焦于解释Java Database Connectivity (JDBC)中三个核心接口——`Connection`、`Statement`和`ResultSet`的作用。这三个接口是JDBC API的核心组成部分,它们共同协作,使得Java应用程序能够与各种关系...
这篇博客的下篇主要讨论了如何在关闭Connection时自动关闭Statement和ResultSet,以确保资源的有效释放,防止内存泄漏。以下是对这个主题的详细解释。 首先,我们需要理解数据库连接、Statement和ResultSet在JDBC中...
JDBC主要接口、类: Connection:封装连接 DriverManager:管理驱动 Statement:封装SQL语句 PreparedStatement:封装SQL语句 ResultSet:封装结果集
PreparedStatement是Statement的一个子接口,它的主要优势在于预编译。预编译的SQL语句在首次执行时会被数据库解析并生成执行计划,后续的重复执行将直接使用这个执行计划,从而提高了性能。此外,...
我们知道进行编码和转码工作都是集中在JDBC的两个接口PreparedStatement和ResultSet上进行的,主要涉及PreparedStatement的setString方法以及ResultSet的getString方法。前面我们讲过需要加入一个连接封装层来对...
JDBC API主要包括一系列的Java类和接口,这些类和接口定义在java.sql和javax.sql包中。主要的组件有: 1. **DriverManager**: 这是JDBC的核心,负责管理所有已注册的JDBC驱动程序。我们通过它来加载和注册驱动,...
核心接口包括`DriverManager`、`Connection`、`Statement`、`PreparedStatement`和`ResultSet`等。这些接口提供了创建数据库连接、执行SQL语句和处理查询结果的基本操作。 2. **驱动管理器(DriverManager)** `...
public static void ReleaseSoucre(ResultSet rs, Statement stmt, Connection conn) { try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch ...
7. 关闭所有资源,包括ResultSet、Statement和Connection。 JDBC是Java开发中不可或缺的一部分,它为开发者提供了强大且灵活的数据库访问能力。通过熟练掌握JDBC,可以构建高效、可靠的数据库应用程序。
因此,如果读取一个 ResultSet 与读取另一个交叉,则这两个对象必须是由不同的 Statement 对象生成,如果存在某个语句打开的当前 ResultSet 对象,则 Statement 接口中所有执行方法都会隐式关闭它。 ...
这主要是通过`java.sql.Statement`接口及其子类`java.sql.PreparedStatement`和`java.sql.CallableStatement`来完成的。`Statement`用于执行简单的SQL语句,`PreparedStatement`用于执行预编译的SQL语句,可以包含...
4. `PreparedStatement`是`Statement`的子接口,用于执行预编译的SQL语句。 5. `ResultSet`接口中定义了大量的`getXXX()`方法,如果使用字段的索引来获取指定的数据,字段的索引是从1开始编号的。 【判断题】 1. ...
ResultSet是JDBC中用于存储查询结果的一个接口,它表示从数据库中检索的数据集。而REF CURSOR则是PL/SQL(Oracle数据库的存储过程语言)中的一个概念,它相当于一个指向结果集的指针,可以在PL/SQL中动态打开和关闭...
在IT行业中,JDBCConnection是Java数据库连接(Java Database Connectivity)的一个重要概念,它是Java程序与各种数据库进行交互的基础。本项目"JdbcConnection"利用了JDBC API,结合Servlet和Tomcat服务器,以及...
2.3 Connection接口 2.4 Statement接口 2.5 PreparedStatement接口 2.6 ResultSet接口 2.7 DataSource接口 三、JDBC操作数据库的步骤 四、编写第一个JDBC程序 五、注册案例 六、登录案例 6.1 Statement 七、SQL注入 ...
Java语言SQL接口JDBC编程技术是Java开发人员与关系型数据库进行交互的重要工具。JDBC(Java Database Connectivity)是Java平台中的一个标准API,它允许Java应用程序与各种类型的数据库进行通信,无论数据库管理系统...
在JDBC之前,ODBC(Open Database Connectivity)是主要的数据访问接口,它是一个基于C语言的API,适用于多种数据库系统。ODBC有一个四层架构:应用程序接口、驱动器管理器、数据库驱动器和数据源。尽管ODBC在跨平台...
6. 关闭资源:按照“先开后关”的原则,关闭ResultSet、Statement和Connection,释放数据库资源。 三、Statement与PreparedStatement的比较 1. 安全性:PreparedStatement能防止SQL注入,因为参数在预编译时已被...
实际应用中,还有其他接口如`PreparedStatement`(用于预编译SQL语句,提高性能),`CallableStatement`(用于调用存储过程)等,它们都继承自`Statement`接口,提供了更高级的功能。 举例来说,如果要连接Oracle...
在Java编程中,数据库操作是常见任务之一,而`PreparedStatement`和`Statement`是Java JDBC(Java Database Connectivity)中用于执行SQL语句的两种主要接口。它们都是`java.sql`包下的类,用来与数据库进行交互,但...