使用 JDBC 对oracle的raw数据类型进行操作(CRUD)时,
会发现获取到oracle 的 raw类型 对应 java的 byte[],据我所知 oracle raw数据类型保存的为16进制数。
获取oracle raw数据类型 的 字段 的值 有三种方式:
第一种:
使用orm框架: hibernate,
写一个映射类与数据表的相关字段进行映射,数据表的raw类型对应着java映射类的 UUID 类型。
第二种:
使用 java.lang.Integer.toHexString(int) 方法获取 raw类型的值,代码:
/**
* 将 oracle raw 类型转为 十六进制字符串
* @param obj
* @return
*/
public String toHexStringAboutRaw(Object obj) {
if (!(obj instanceof byte[])) {
return "";
}
byte[] bytes = (byte[]) obj;
// System.out.println("bytes.length=" + bytes.length);//16
StringBuffer raw = new StringBuffer();
String hex = "";
for (int i = 0; i < bytes.length; i++) {
hex = Integer.toHexString(bytes[i] &