java多线程保存oracle的blob字段在本地生成图像
前些日子折腾的在线拍照,由于只是更新blob字段,没有在本地保存照片,导致客户拍脑门想要的时候不能马上拿出来。没说的谁让顾客是上帝呢,做吧。使用线程池创建三个线程让自定一个线程目标共享(也就是把表里的记录分成n组同时执行导出)。程序很简单,一共四个类和一个ojdbc14.jar包。由于sql语句写错了造成多个线程对一个文件进行写操作,害的我查了半天。
首先定义分页对象也就是每个线程要处理的数据量(通过传入的总页数和总行数得到每页数量)
package com.main;
import java.util.ArrayList;
import java.util.List;
public class PageVO {
private String startRowNum;//返回查询的起始行
private String endRowNum;//返回查询的终止行
private int totalRows; // 数据查询总记录数
private int totalPages; // 分成页数
private int pageRows;//每页行数
public PageVO(){
}
public PageVO(int totalRows,int totalPages){
this.totalPages = totalPages;
this.totalRows = totalRows;
}
public PageVO(String startNum,String endNum){
this.startRowNum = startNum;
this.endRowNum = endNum;
}
public String getStartRowNum() {
return startRowNum;
}
public void setStartRowNum(String startRowNum) {
this.startRowNum = startRowNum;
}
public String getEndRowNum() {
return endRowNum;
}
public void setEndRowNum(String endRowNum) {
this.endRowNum = endRowNum;
}
public List<PageVO> getPageVOList(){
List<PageVO> list = new ArrayList<PageVO>();
pageRows = totalRows/totalPages;
int currentRow = 1;//定义起始值
for (int i = 0; i<totalPages; i ++){
list.add(new PageVO(new Integer(currentRow).toString(),new Integer(pageRows + currentRow).toString()));
currentRow = currentRow + pageRows + 1;
}
return list;
}
}
其次获得connection类
package com.main;
impo
相关文档:
Java 3D虽然能支持众多的外部3D模型文件,但能支持被Java 3D使用的外部模型文件仅为.obj和.lwd两种;分别对应ObjectFile类和Lw3dLoader类。相比之下几款主流的3D建模软件都能生成.obj格式的文件,因此本文主要介绍使用ObjectFile类载入.obj文件的方法。
ObjectFile类有三个构造方法,分别为:
ObjectFile()
ObjectFile( ......
前台UI进程(VC6编写)将UTF-8中文发给后台服务程序(Linux GCC),后台再写入oracle数据库,然后前台再通过后台将数据取出,并显示;后台没有做编解码转换,前台则在VC默认的GBK与UTF-8之间作转换。
开始时系统出现乱码,后来通过设置Linux一个环境变量、重启后台进程问题解决(问题是曾经尝试过更改该环境变量,但乱码依 ......
转自:http://hi.baidu.com/66_com
引言
我现在所在的项目组需要把mysql的数据处理后导入到oracle数据库中,在此期间遇到了数据中文乱码问题。下面是我对这个问题的总结。
1、linux操作系统,mysql,oracle安装时字符集的选择。
我的建议是这三者的字符集保持一致,全为utf-8或gdk或gb2312。如果有特殊要求,三者不同也 ......
学习了SSL的基本原理后..动手用java来实现了一个安全连接的实例..
1.使用keytool创建密钥对..并在服务端和客户端完成分配..具体方法可参看:java-使用keytool来创建管理密钥及证书等-java学习笔记(3)
2.建立客户端和服务端的socket实例:
客户端代码如下:
public class SSLClient {
public static void startSSLClie ......