JDBC Statement

news/2024/5/18 22:59:25 标签: oracle, 数据库, jdbc, java

JDBC Statement

  • 创建语句
  • 通过语句执行查询
  • 通过语句执行更新
  • 关闭语句
    • 使用Java Try-With Resources关闭语句
  • Statement与PreparedStatement

Java JDBC Statement,Java.sql.Statement接口用于对关系数据库执行sql语句。您可以从JDBC连接中获得JDBC语句。一旦你有了Java语句实例,你就可以用它执行数据库查询或数据库更新。接下来将解释如何使用语句执行查询、更新,以及在使用完语句实例后如何正确关闭语句实例。

创建语句

为了使用Java JDBC语句,您首先需要创建一个语句。以下是创建Java语句实例的示例:

java">Statement statement = connection.createStatement();

通过语句执行查询

一旦创建了Java语句对象,就可以对数据库执行查询。您可以通过调用它的executeQuery()方法来实现这一点,并将SQL语句作为参数传递。 Statement executeQuery()方法返回一个Java JDBC ResultSet,该结果集可用于导航查询的内容。以下是调用Java JDBC Statement executeQuery()并导航返回的ResultSet的示例:

java">String sql = "select * from test";

ResultSet result = statement.executeQuery(sql);

while(result.next()) {

    String name = result.getString("name");
    long   age  = result.getString("age");
    
}

请注意,在完成ResultSet后,需要关闭它。

通过语句执行更新

您还可以通过Java JDBC语句实例执行数据库的更新。例如,您可以通过Statement实例执行SQL插入、更新或删除。以下是通过Java JDBC语句实例执行数据库更新的示例:

java">Statement statement = connection.createStatement();

// 更新id等于123的那条数据
String    sql       = "update test set name='Tianjh' where id=123";

int rowsAffected    = statement.executeUpdate(sql);

statement.executeUpdate(sql)调用返回的rowsAffected,告诉数据库中有多少记录受到sql语句的影响。

关闭语句

完成一个Statement实例后,您需要关闭它。您可以通过调用其close()方法来关闭Statement实例。下面是一个关闭Java JDBC语句实例的示例:

java">statement.close();

使用Java Try-With Resources关闭语句

为了在使用后正确关闭语句,可以在Java Try With Resources块中打开它。下面是一个使用try-with-resources构造关闭Java JDBC语句实例的示例:

java">try(Statement statement = connection.createStatement()) {
    String sql = "update test set name='Tianjh' where id=123";
} catch(SQLException e) {

}

一旦try块退出,语句将自动关闭。

StatementPreparedStatement

Java JDBC API有一个类似于Statement的接口,称为PreparedStatementPreparedStatement可以在SQL语句中插入参数,因此可以使用不同的参数值反复使用PreparedStatement。您不能使用语句来执行此操作。语句需要一个完成的SQL语句作为参数。

下一篇:JDBC ResultSet


http://www.niftyadmin.cn/n/4996395.html

相关文章

2023年“羊城杯”网络安全大赛 Web方向题解wp 全

团队名称:ZhangSan 序号:11 不得不说今年本科组打的是真激烈,初出茅庐的小后生没见过这场面QAQ~ D0n’t pl4y g4m3!!! 简单记录一下,实际做题踩坑很多,尝试很多。 先扫了个目录,扫出start.sh 内容如下…

Python与STM32串口通讯

最近,苦于STM32与上位机Python的串口通讯,实在完成不了通讯,不知道到底是什么原因,STM32与上位机的串口调试软件是可以成功完成数据传输的,但用Python就不知道为啥不能完成通信,网上关于这方面的东西也不能…

2023-9-3 试除法判定质数

题目链接&#xff1a;试除法判定质数 #include <iostream>using namespace std;bool is_prime(int n) {if(n < 2) return false;for(int i 2; i < n / i; i){if(n % i 0) return false;}return true; }int main() {int n;cin >> n;while(n--){int x;cin &g…

无涯教程-JavaScript - VARP函数

VARP函数取代了Excel 2010中的VAR.P函数。 描述 该函数根据整个总体计算方差。 语法 VARP (number1,[number2],...)争论 Argument描述Required/OptionalNumber1The first number argument corresponding to a population.RequiredNumber2...Number arguments 2 to 255 cor…

Python入门教程 - 基本函数(四)

目录 一、什么是函数 二、自定义函数并使用它 一、什么是函数 前面我们学习了像input()、print()、type()等等&#xff0c;他们都是函数。这些其实是由Python内部帮我们定义好的。我们直接用就可以了。 关于函数&#xff0c;除了用内部定义好的&#xff0c;我们也可以自己定…

Linux-Centos7安装Docker

文章目录 一、前言二、Docker安装1、Docker及系统版本2、Docker的自动化安装3、Docker手动安装3.1、卸载Docker&#xff08;可选&#xff09;3.2、设置源仓库3.3、Docker安装3.4、Docker启动3.5、验证是否安装成功3.5.1、拉取镜像3.5.2、查看镜像3.5.3、运行镜像 3.6、删除Dock…

C++:输出系统时间(及报错处理)

#include <iostream> #include <ctime>using namespace std;int main() {// 基于当前系统的当前日期/时间time_t now time(0);cout << "1970 到目前经过秒数:" << now << endl;tm* ltm localtime(&now);// 输出 tm 结构的各个组…

Python安装与Pycharm配置

Python与Pycharm安装 用了一年的Python最近被一个问题难倒了&#xff0c;pip安装一直不能用&#xff0c;报错说被另一个程序使用。被逼到只能重新安装python了&#xff0c;正好记录一下这个过程&#xff0c;写这篇笔记。&#xff08;突然想到可能是配Arcgis的python接口&#…