statement
1、创建 Statement 对象
建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句。Statement 对象用 Connection 的方法 createStatement 创建,如下列代码段中所示:
Connection con = DriverManager.getConnection(url, "sunny", "");
Statement stmt = con.createStatement();
为了执行 Statement 对象,被发送到数据库的 SQL 语句将被作为参数提供给 Statement 的方法:
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table2");
2、使用 Statement 对象执行语句
Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。使用哪一个方法由 SQL 语句所产生的内容决定。
方法 executeQuery 用于产生单个结果集的语句,例如 SELECT 语句。
方法 executeUpdate 用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。
方法 execute 用于执行返回多个结果集、多个更新计数或二者组合的语句。因为多数程序员不会需要该高级功能,所以本概述后面将在单独一节中对其进行介绍。
执行语句的所有方法都将关闭所调用的 Statement 对象的当前打开结果集(如果存在)。这意味着在重新执行 Statement 对象之前,需要完成对当前 ResultSet 对象的处理。
应注意,继承了 Statement 接口中所有方法的 PreparedStatement 接口都有自己的 executeQuery、executeUpdate 和 execute 方法。Statement 对象本身不包含 SQL 语句,因而必须给 Statement.execute 方法提供 SQL 语句作为参数。PreparedStatement 对象并不将 SQL 语句作为参数提供给这些方法,因为它们已经包含预编译 SQL 语句。CallableStatement 对象继承这些方法的 PreparedStatement 形式。对于这些方法的 PreparedStatement 或 CallableStatement 版本,使用查询参数将抛出 SQLException。
3、语句完成
当连接处于自动提交模式时,其中所执行的语句在完成时将自动提交或还原。语句在已执行且所有结果返回时,即认为已完成。对于返回一个结果集的 executeQuery 方法,在检索完 ResultSet 对象的所有行时该语句完成。对于方法 executeUpdate,当它执行时语句即完成。但在少数调用方法 execute 的情况中,在检索所有结果集或它生成的更新计数之后语句才完成。
概述
Statement 对象用于将 SQL 语句发送到数据库中。实际上有三种 Statement 对象,它们都作为在给定连接上执行 SQL 语句的包容器:Statement、 PreparedStatement(它从 Statement 继承而来)和 CallableStatement(它从 PreparedStatement 继承而来)。它们都专用于发送特定类型的 SQL 语句: Statement 对象用于执行不带参数的简单 SQL 语句;PreparedStatement 对象用于执行带或不带 IN 参数的预编译 SQL 语句;CallableStatement 对象用于执行对数据库已存储过程的调用。
Statement 接口提供了执行语句和获取结果的基本方法。PreparedStatement 接口添加了处理 IN 参数的方法;而 CallableStatement 添加了处理 OUT 参数的方法。
有些 DBMS 将已存储过程中的每条语句视为独立的语句;而另外一些则将整个过程视为一个复合语句。在启用自动提交时,这种差别就变得非常重要,因为它影响什么时候调用 commit 方法。在前一种情况中,每条语句单独提交;在后一种情况中,所有语句同时提交。
4、关闭 Statement 对象
Statement 对象将由 Java 垃圾收集程序自动关闭。而作为一种好的编程风格,应在不需要 Statement 对象时显式地关闭它们。这将立即释放 DBMS 资源,有助于避免潜在的内存问题。
分享到:
相关推荐
JDBC API是一系列标准接口,如DriverManager、Connection、Statement、PreparedStatement和CallableStatement等,它们定义了与数据库交互的操作。JDBC驱动程序则是实现这些接口的具体数据库厂商提供的类库,确保Java...
在实际应用中,为了代码的可维护性和安全性,通常会推荐使用PreparedStatement和CallableStatement,它们可以防止SQL注入攻击,并允许你以参数化的方式执行SQL语句。 总的来说,"JSP连接access数据库"是一个学习...
【JSP中使用数据库】的知识点讲解 JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML代码中嵌入Java代码来处理服务器端的任务。在JSP中使用数据库,主要是通过JDBC(Java Database Connectivity)API...
了解JDBC驱动的管理、Connection对象的获取、Statement或PreparedStatement对象的使用以及ResultSet的遍历是JSP数据库编程的基础。 二、数据库连接 在JSP中,我们需要配置数据源或者手动建立数据库连接。通过`Class...
- `public PreparedStatement prepareStatement(String sql)`:创建一个用于执行预编译SQL语句的PreparedStatement对象。 - `public CallableStatement prepareCall(String sql)`:创建一个用于执行存储过程的...
#### 三、JSP连接SQL Server数据库 ##### 1. 加载驱动与建立连接 ```jsp Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url = "jdbc:microsoft:sqlserver://localhost...
在JSP中连接数据库,通常有两种方式:使用`Class.forName()`加载数据库驱动,然后创建`Connection`对象;或者通过数据源(DataSource)来获取连接。数据源在应用服务器中预先配置,提供更高效的连接管理和事务处理,...
本资料"JSP连结数据库大全.rar"汇总了使用JDBC在JSP中连接不同数据库的方法,以下将详细讲解其核心知识点。 1. **JDBC基础** - JDBC API包括驱动管理器、连接接口、Statement、PreparedStatement、...
3. PreparedStatement和CallableStatement:相比Statement,它们更安全、高效,能防止SQL注入,同时支持预编译的SQL语句。 三、数据库管理程序设计 1. 模型-视图-控制器(MVC)架构:这是一种常见的Web应用程序设计...
本文旨在深入探讨如何在JSP应用中实现与Oracle数据库的高效连接,涵盖Oracle数据源配置、JDBC驱动加载、连接方式及SQL执行等多个方面。 #### Oracle数据源配置 在JSP项目中集成Oracle数据库的第一步是正确配置数据...
高级应用中,JSP常与Hibernate、MyBatis等ORM框架结合,简化数据库操作,实现对象-关系映射。 本指南将详细阐述这些概念,并通过实例演示如何在JSP中实现数据库交互,帮助读者掌握JSP数据库编程的核心技术。无论你...
它提供了一系列的接口和类,使得Java程序员能够方便地执行SQL语句,操作数据库。 **二、驱动管理器** JDBC驱动管理器是JDBC的核心组件,负责加载数据库驱动,并管理数据库连接。在JSP中,通常使用`Class.forName()`...
【如何建立JSP操作以提高数据库访问效率】 Java Server Pages(JSP)是服务器端用于快速开发应用程序的强大工具,尤其适用于处理与数据库相关的输入、输出和数据处理任务。尽管JSP有其局限性,但其易用性和灵活性...
本文将详细介绍如何在JSP中连接并操作各种类型的数据库,包括Oracle、SQL Server和DB2等。 对于初学者而言,将数据库逻辑直接放置于JSP页面中是一种快速上手的方式,尽管这并不是最理想的编程实践。随着技能的增长...
- JSP可以通过JDBC API执行SQL语句,例如`Statement`、`PreparedStatement`和`CallableStatement`。 - 结果集(ResultSet)对象用于存储查询结果,可以通过迭代器遍历并显示数据。 - 数据绑定技术如JSTL(Java...
5. `Connection`对象是数据库连接的载体,可以通过它创建Statement、PreparedStatement或CallableStatement对象,进而发送SQL语句到数据库。 6. Statement对象有三种类型:Statement、PreparedStatement和...
在IT行业中,数据库管理和Web开发是两个至关重要的领域,而`jsp`(JavaServer Pages)与`存储过程`的结合则是这两个领域的交集,用于提高应用程序的性能和安全性。本篇将详细介绍`jsp`调用存储过程的相关知识点,并...
JSP与JavaBean结合操作数据库** - **JavaBean**:Java类,遵循一定的命名和封装规则,用于封装业务逻辑和数据。在JSP中,JavaBean可以作为中间层,处理与数据库的交互。 - **JSP动作标签**:在JSP页面中使用<jsp:...
- Transaction管理:在数据库操作中,事务是确保数据一致性的重要机制,Java中的Connection对象提供了commit()和rollback()方法来控制事务。 6. **JavaWeb开发** - Servlet:JavaWeb应用的核心,负责处理HTTP请求...