对jdbc进行封装遇到的问题(一)
2012-11-16 08:03
211 查看
一、首先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字段就可以像普通字段一样进行插入提取。
二、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字段就可以像普通字段一样进行插入提取。
相关文章推荐
- iOS开发 --- AFNetworking 进行封装(POST请求遇到的问题)
- 对图像数据进行预处理时遇到的若干问题(2)
- 遇到 JDBC执行sql查询,报[列名无效]问题
- 关于VSTS对WebService进行单元测试时遇到的问题
- 将mysql的datetime类型数据,封装成json时遇到的问题
- 对Web Service中的WebMethod进行单元测试时遇到一个很奇怪的DisconnectedContext问题
- 利用postgresql进行缓冲区内对象检测过程中遇到的sql查询效率问题解决方案记录
- 关于Flex中用大括号{}进行数据绑定遇到的问题
- socket iOS 与java 后台进行socket通讯遇到的问题以及解决方法
- 关于sqlserver2005安装问题,以及与JDBC进行直连
- 封装arp数据包并发送出去所遇到的问题
- 关于 封装 linux socket 类时遇到的问题,及解决办法,
- 解决对android APK 项目进行签名过程中遇到的问题
- 装sql server sp4时,遇到的问题:以前进行的程序安装创建了挂起的文件操作.运行程序之前,必须重新起动计算机
- 当我们在程序中使用Packet32.h进行编程时,可能会遇到以下问题:
- JDBC连接SQL Server 2008 R2时遇到的常见问题集解
- Arm下使用Qt和Opencv进行图像处理的入门例程和遇到的问题
- 利用CreateRemoteThread进行远程代码注入的技术在64位机上可能遇到的问题
- mysql 直接拷贝data 目录下文件 进行数据库迁移时遇到的一些问题??
- java通过网络获取从下位机获得的字节流进行包头判断遇到的问题