一、首先javabean的数据类型应该用基本类型的包装类,这样在初始化的时候就不会有默认初始值。且属性具有的对象的特征便于操作。
二、oracle中数据库插入clob和blob的字段的问题:
(1)一般网上的方法是先插入空值然后再update,这种方法虽然可行,但是十分的繁琐和不便。通过实验clob字段可以直接使用setString进行插值,取值时将oracle的 clob字段再转换为String;同理,blob字段插入数据库时应该使用byte[]数组,取出时也应该是byte[]数组,具体的方法如下:
//数据库Clob对象转换为String
private static String clobToString(java.sql.Clob clob){
try
{
// 以 java.io.Reader 对象形式(或字符流形式)
//检索此 Clob 对象指定的 CLOB 值 --Clob的转换
Reader inStreamDoc = clob.getCharacterStream();
// 取得clob的长度
char[] tempDoc = new char[(int) clob.length()];
inStreamDoc.read(tempDoc);
inStreamDoc.close();
return new String(tempDoc);
}
catch (IOException e)
{
e.printStackTrace();
}
catch (SQLException es)
{
es.printStackTrace();
}
return null;
}
// 将blob 转换成 byte[]
public static byte[] blobToByteArray(java.sql.Blob blob1){
byte[] str = null ;
try {
str=blob1.getBytes(1, (int) blob1.length());
}catch (Exception e) {
e.printStackTrace();
}
return str;
}
这样clob和blob字段就可以像普通字段一样进行插入提取。