JDBC Explain中的RowId对象是什么?

RowId是SQL的内置类型,它是数据库表中行的地址。java.sql包的RowId接口映射有SQL ROWID值。

RowId值对于每一行都是唯一的,它们是访问行的最快方法。您不能将其用作表的主键。

检索RowId对象

您可以使用ResultSet,CallableStatement,PreparedStatement接口的getRowId()方法检索特定行的RowId 。

此方法接受代表列标签的String值,或代表列索引的整数值,并返回相应的RowId对象。

//Retrieving the RowId objects
RowId rowId1 = rs.getRowId("Mobile_Brand");
RowId rowId2 = rs.getRowId("Unit_Sale");

将RowId值设置为prepared语句

您可以将其用作代表每一行的唯一值。您可以使用setRowId()方法在PreparedStatement中将其设置为参数。对于此方法,您需要传递一个整数,该整数表示需要将RowId设置为值的参数索引。

RowId rowid = rs.getRowId("Mobile_Brand");
PreparedStatement pstmt = con.prepareStatement("insert into myTable values (?, ?, ?)");
pstmt.setRowId(1, rowId);
pstmt.setString(2, "Raja");
pstmt.setString(3, "Hyderabad");