java向数据库存取图片

  • 格式:doc
  • 大小:38.50 KB
  • 文档页数:5

下载文档原格式

  / 5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java向数据库存取图片.txt吃吧吃吧不是罪,再胖的人也有权利去增肥!苗条背后其实是憔悴,爱你的人不会在乎你的腰围!尝尝阔别已久美食的滋味,就算撑死也是一种美!减肥最可怕的不是饥饿,而是你明明不饿但总觉得非得吃点什么才踏实。JAVA向数据库中存取图片的演示

在网上看到很多贴子,问JAVA怎样才能将图片存入数据库,并从数据中显示出来。是啊,我当年也问过这样的问题,也在网上找过,不过都没有一个完整的程序,一个很简单的程序,让我走了很多的弯路,后来写的东西多了,问题就迎刃而解了,现写了一个完整的程序并把源程序贴出来,希望对你了解JAVA这方面的功能有一点帮助。由于没有写注解,如有什么不能理解的,可以发电子邮件给我(zhliuyou@),同时我也很乐意与喜欢JAVA的朋友们讨论JAVA方面问题:

注:本程序的在WINXP+SQLserver2000+JDK1.5测试通过

package org.liuyou.insertphotodemo;

/**

*

Title: InsertPhotoDemo

*

Description: 本程序用于演示向数据库中插入图片及从数据库中读取图片

*

Copyright: Copyright (c) 2005

*

Company: LIUYOU STUDIO

* @author liuyou(zhliuyou)

* @version 1.0

*/

import java.io.*;

import java.sql.*;

import javax.swing.*;

import java.awt.*;

public class InsertPhotoDemo

{

public static void main(String args[])

{

JFrame f = new JFrame();

JLabel label = new JLabel();

try

{

/* 加载数据库驱动程序 */

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

/* 获取连接,这里用的SQLServer2000*/

Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://10.1.5.110:1433;Database Name=MiniTuiBaoRobot","zhliuyou","zhliuyou");

/* 存入图片 */

String sql="insert into TEST values(?,?)";

PreparedStatement pstmt = con.prepareStatement(sql);

File file = new File("e:/study/javafile/InsertPhotoDemo/test.jpg");

System.out.println(file.length());

FileInputStream fis = new FileInputStream(file);

pstmt.setBinaryStream(1,fis,(int)file.length());

pstmt.setString(2,"liuyou");

pstmt.executeUpdate();

pstmt.close();

fis.close();

/* 读取图片 */

byte [] imageByte;

String readSql = "select PHOTO from TEST where TESTID=?";

PreparedStatement pstm = con.prepareStatement(readSql);

pstm.setString(1,"1");

ResultSet rs = pstm.executeQuery();

if(rs.next())

{

imageByte = rs.getBytes(1);

Image selectPhoto = Toolkit.getDefaultToolkit().createImage(imageByte); ImageIcon icon = new ImageIcon(selectPhoto);

label.setIcon(icon);

}

pstm.close();

rs.close();

}catch(ClassNotFoundException ex)

{

ex.printStackTrace();

}catch(SQLException ex)

{

ex.printStackTrace();

}catch(FileNotFoundException ex)

{

ex.printStackTrace();

}catch(Exception ex)

{

ex.printStackTrace();

}

Container contentPane = f.getContentPane(); contentPane.setLayout(new BorderLayout()); contentPane.add(label,BorderLayout.CENTER);

f.setTitle("JAVA向数据库中存取图片的演示");

f.pack();

f.show();

}

}