Java如何知道更新数据库表中的数据时受影响的行数?
在本例中,您可以看到在更新数据库中的记录时,如何获得受影响的行数或记录数。Statement或PreparedStatement的executeUpdate()方法返回一个整数值,它告诉我们有多少记录受到执行命令的影响。
注意,当executeUpdate()方法的返回值为0时,它可能意味着以下两种情况之一:(1)执行的语句是影响零行的update语句,或者(2)执行的语句是DDL语句,比如在数据库中创建表的语句。
package org.nhooo.example.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class HowManyRowExample {
private static final String URL = "jdbc:mysql://localhost/nhooo";
private static final String USERNAME = "root";
private static final String PASSWORD = "";
public static void main(String[] args) throws Exception {
try (Connection connection =
DriverManager.getConnection(URL, USERNAME, PASSWORD)) {
String sql = "UPDATE books " +
"SET title = ?, published_year = ? " +
"WHERE isbn = ?";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, "Java 8 in Action, First Edition");
ps.setInt(2, 2014);
ps.setString(3, "9781617291999");
int rows = ps.executeUpdate();
System.out.printf("%d row(s) updated!", rows);
}
}
}上面的代码片段的结果:
1 row(s) updated!
Maven依赖
<!-- https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短