java - 使用 Java 从 oracle 获取行 id
问题描述
我需要使用 Java 从 Oracle 数据库中获取 rowid。我使用了下面的代码。
Statement st = con.createStatement();
ResultSet rs=st.executeQuery("select * from ABC");
while(rs.next()) {
RowId str=rs.getRowId(1);
System.out.println(str);
}
我得到的结果是
oracle.sql.ROWID@2ce6c6ec
oracle.sql.ROWID@1bae316d
但我需要十六进制值,例如
AAAdItACwAABXcIAAA
有人可以指导我吗?
谢谢
解决方案
这将直接为您提供十六进制值
String hexValue = DatatypeConverter.printHexBinary(resultSet.getRowId(10).getBytes())
这是完整的代码
Statement st = con.createStatement();
ResultSet rs=st.executeQuery("select * from ABC");
while(rs.next())
{
String str= DatatypeConverter.printHexBinary(resultSet.getRowId(1).getBytes())
System.out.println(str);
}
推荐阅读
- mysql - mysql get ranking position grouped with joined table
- c# - Connection string is not working while using (data source =.\SQLExpress)
- kotlin - JOOQ: How to add an interface to record class to allow generic insertion of data
- java - Java test for an exception
- r - purrr syntax and map_depth
- javascript - Restructuring this JSON data to be tranformed to a barchart data
- apache - docker 卷,不生成配置文件
- android - 如何使用 Android SDK 删除存储在 AWS S3 存储桶中的文件/对象?
- python - Python SQL 脚本仅将数据帧的最后一行插入到 SQL Server [pyodbc]
- mysql - 更新父键应更改子键(外键)