这两天需要在图片存储性能方面做一些实验,无非就是两种方法,一是将图片以blob式存入数据库中,二是将图片路径存入数据库中,然后从数据库中提取出来。 实验数据是从1000张图片中遍历取出100张,样本比较小哈。。。。 下面贴出代码 数据库我使用的是国产达
        					这两天需要在图片存储性能方面做一些实验,无非就是两种方法,一是将图片以blob格式存入数据库中,二是将图片路径存入数据库中,然后从数据库中提取出来。
实验数据是从1000张图片中遍历取出100张,样本比较小哈。。。。
下面贴出代码
数据库我使用的是国产达梦数据库,如果要改其他的话也比较简单。
//package lianjie;import java.io.file;import java.io.fileinputstream;import java.io.filenotfoundexception;import java.io.fileoutputstream;import java.io.ioexception;import java.io.inputstream;import java.io.outputstream;import java.sql.blob;import java.sql.connection;import java.sql.drivermanager;import java.sql.preparedstatement;import java.sql.resultset;import java.sql.sqlexception;import java.sql.statement;import javax.imageio.imageio;public class dmtest {// 定义 dm jdbc 驱动串string jdbcstring = dm.jdbc.driver.dmdriver;// 定义 dm url 连接串string urlstring = jdbc:dm://localhost:5236/;// 定义连接用户名string username = sysdba;// 定义连接用户口令string password = sysdba;static //定义sql语句//string sqlstring =create table yujin3(a int,b int,c int);;string sqlstring1=insert into yujin3  values(123,14,1234);;// 定义连接对象static connection conn = null;static statement stmt = null;   static preparedstatement ps = null;   static resultset rs = null;  //private static string sqlstring1;/* 加载 jdbc 驱动程序* @throws sqlexception 异常 */public void loadjdbcdriver() throws sqlexception {try {system.out.println(loading jdbc driver...);// 加载 jdbc 驱动程序//drivermanager.registerdriver(new dm.jdbc.driver.dmdriver()); class.forname(jdbcstring);} catch (classnotfoundexception e) {throw new sqlexception(load jdbc driver error1:  + e.getmessage());} catch (exception ex) {throw new sqlexception(load jdbc driver error : + ex.getmessage());}}public void connect() throws sqlexception {try {system.out.println(connecting to dm server...);// 连接 dm 数据库conn = drivermanager.getconnection(urlstring, username, password);} catch (sqlexception e) {throw new sqlexception(connect to dm server error : + e.getmessage());}}/* 关闭连接* @throws sqlexception 异常 */public void disconnect() throws sqlexception {try {// 关闭连接conn.close();system.out.println(close);} catch (sqlexception e) {throw new sqlexception(close connection error :  + e.getmessage());}}public static void main(string args[]) {	dmtest basicapp = new dmtest();	// 加载驱动程序	try {		basicapp.loadjdbcdriver();	} catch (sqlexception e2) {		// todo auto-generated catch block		e2.printstacktrace();	}	try {		basicapp.connect();	} catch (sqlexception e2) {		// todo auto-generated catch block		e2.printstacktrace();	}		 string sql = drop table blobtest;        //string sql=null;     try {             stmt = conn.createstatement();            system.out.println(sql);           stmt.executeupdate(sql);            //创建表            sql = create table blobtest( +               b_title int,+            b_text blob+             );        system.out.println(sql);        stmt.executeupdate(sql);        system.out.println(创建数据表成功!);                sql=insert into blobtest(b_title,b_text)values(?,?);        ps = conn.preparestatement(sql);        //插入图片        //file file = new file(f:\\image\\yahoo.jpg);        for(int i=0;i然后在相应路径下面就生成了100张图片,速度还是比较快的,关于实验数据大家可以去网上下载,或者减少样本,一两张都可以,只是要稍微修改下代码就行。
   
 
   