【Java】笔记:JDBC中Statement常用的几个执行函数

1.executeQuery(String sql): ResultSet

用于执行查询语句(SELECT),返回一个 ResultSet 对象,该对象包含了查询结果的数据。可以通过 ResultSet 提供的方法来获取查询结果。

java 复制代码
//声明statement
Statement statement = connection.createStatement();
//发送查询语句
ResultSet resultSet = statement.executeQuery("SELECT id, name FROM employees");
//遍历查询结果
while (resultSet.next()) {
    int id = resultSet.getInt("id");
    String name = resultSet.getString("name");
    System.out.println("ID: " + id + ", Name: " + name);

2.executeUpdate(String sql): int

用于执行更新语句,如 INSERT(添加)、UPDATE(更新)、DELETE(删除) 等,返回一个表示影响的行数的整数。可以用来判断操作是否成功,若返回值大于等于0则说明执行成功,若为负数则说明执行失败。

java 复制代码
Statement statement = connection.createStatement();
int rowCount = statement.executeUpdate("UPDATE employees SET salary = salary * 1.1 WHERE department = 'IT'");
System.out.println("Updated " + rowCount + " rows.");
// 判断是否执行成功
if (rowCount >= 0) {
    System.out.println("更新成功,影响了 " + rowCount + " 行。");
} else {
    System.out.println("更新失败。");
}

3.execute(String sql): boolean

用于执行任意 SQL 语句,返回一个表示是否有结果集的布尔值。如果有结果集,可以通过 getResultSet() 方法获取。

java 复制代码
Statement statement = connection.createStatement();
boolean hasResultSet = statement.execute("DROP TABLE employees");
if (hasResultSet) {
    System.out.println("表删除成功!");
}

4.addBatch(String sql): void

用于将 SQL 语句添加到批处理中,以便一次性执行多个 SQL 语句。通常与 executeBatch() 一起使用。返回值是 void,表示成功添加到批处理中。

java 复制代码
Statement statement = connection.createStatement();
statement.addBatch("INSERT INTO employees (name, salary) VALUES ('John Doe', 50000)");
statement.addBatch("INSERT INTO employees (name, salary) VALUES ('Jane Smith', 60000)");
statement.executeBatch()

5.setFetchSize(int rows): void

用于设置从数据库获取的行数,可以提高性能,尤其在处理大量数据时。返回值是 void。指定的行数可能不一定生效,具体取决于数据库驱动的实现。

相关推荐
float_六七1 小时前
IntelliJ IDEA双击Ctrl的妙用
java·ide·intellij-idea
能摆一天是一天2 小时前
JAVA stream().flatMap()
java·windows
CodeCraft Studio3 小时前
PDF处理控件Aspose.PDF教程:使用 Python 将 PDF 转换为 Base64
开发语言·python·pdf·base64·aspose·aspose.pdf
零点零一3 小时前
VS+QT的编程开发工作:关于QT VS tools的使用 qt的官方帮助
开发语言·qt
wan5555cn3 小时前
多张图片生成视频模型技术深度解析
人工智能·笔记·深度学习·算法·音视频
颜如玉3 小时前
🤲🏻🤲🏻🤲🏻临时重定向一定要能重定向🤲🏻🤲🏻🤲🏻
java·http·源码
雁于飞4 小时前
vscode中使用git、githup的基操
笔记·git·vscode·学习·elasticsearch·gitee·github
程序员的世界你不懂5 小时前
【Flask】测试平台开发,新增说明书编写和展示功能 第二十三篇
java·前端·数据库
星空寻流年5 小时前
设计模式第一章(建造者模式)
java·设计模式·建造者模式
rannn_1115 小时前
【Javaweb学习|实训总结|Week1】html基础,CSS(选择器、常用样式、盒子模型、弹性盒布局、CSS定位、动画),js(基本类型、运算符典例)
css·笔记·学习·html