java 中如何处理 SQL image类型 在java程序中怎么实现插入 image类型的数据??谢谢大家!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 lz可以参考下偶的这段代码:(希望能够帮上忙!) import javax.servlet.http.*; import java.io.*; import java.util.*; import java.sql.*; import net.seasky.util.*; import net.seasky.database.DbConnectionManager; public class CoverServlet extends HttpServlet { private static final String CONTENT_TYPE = "image/gif"; public void init(ServletConfig config) throws ServletException { super.init(config); } public void doGet(HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); int albumID; ServletOutputStream out = response.getOutputStream(); try { albumID = ParamManager.getIntParameter(request,"albumID",0); } catch (Exception e) { response.sendRedirect("../ErroePage.jsp"); return; } try { InputStream in=this.getCover(albumID); int len; byte buf[]=new byte[1024]; while ((len=in.read(buf,0,1024))!=-1) { out.write(buf,0,len); } } catch (IOException ioe) { ioe.printStackTrace() ; } } private InputStream getCover(int albumID) { InputStream in=null; Connection cn = null; PreparedStatement pst = null; try { cn=DbConnectionManager.getConnection(); cn.setCatalog("music"); pst=cn.prepareStatement("SELECT img FROM cover where ID =?"); pst.setInt(1,albumID); ResultSet rs=pst.executeQuery(); rs.next() ; in=rs.getBinaryStream("img"); } catch (SQLException sqle) { System.err.println("Error in CoverServlet : getCover()-" + sqle); sqle.printStackTrace() ; } finally { try { pst.close() ; cn.close() ; } catch (Exception e) { e.printStackTrace(); } } return in; } public void destroy() { } } 这里有段代码,应该可以搞定/ 其实不用那么复杂啊,在数据库里某个字段存入image的路径就好了,给你举个例子,比如说图书管理后台,包括书的id,name,image这个3个字段,简单做法是点击插入按钮触发将此3类数据插入数据库操作,实际上image这块可以插入的是image的相对路径,然后lz从db中取出来再用Image类构造方法去创建图片实例显示就可以了 推荐你用binary类型,以前用image类型老是出错,换成binary就好了。 问个类加载的简单问题! 写给女朋友的J2SE教程 大牛们 提一个thinking in java 中有关异常捕获的问题 关于画图的几个问题 关于java线程的一个问题 麻烦各位大哥大姐帮我解决JAVA打包的问题,内容如下: 求助(我用java Swing写的程序出现问题) 在没有锁的情况下使用wait()的错误原因,欢迎对线程感兴趣的朋友来讨论! 想做一个字符串搜索的功能,请教大家 想哭~却不知道为什么~算了~散分吧 Runtime.exit(int status)方法的问题。 list储存对象的一个疑问,代码内详
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;
import net.seasky.util.*;
import net.seasky.database.DbConnectionManager;
public class CoverServlet extends HttpServlet {
private static final String CONTENT_TYPE = "image/gif";
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
public void doGet(HttpServletRequest request, HttpServletResponse response
) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
int albumID;
ServletOutputStream out = response.getOutputStream();
try {
albumID = ParamManager.getIntParameter(request,"albumID",0);
}
catch (Exception e) {
response.sendRedirect("../ErroePage.jsp");
return;
}
try {
InputStream in=this.getCover(albumID);
int len;
byte buf[]=new byte[1024];
while ((len=in.read(buf,0,1024))!=-1) {
out.write(buf,0,len);
}
}
catch (IOException ioe) {
ioe.printStackTrace() ;
}
}
private InputStream getCover(int albumID) {
InputStream in=null;
Connection cn = null;
PreparedStatement pst = null;
try {
cn=DbConnectionManager.getConnection();
cn.setCatalog("music");
pst=cn.prepareStatement("SELECT img FROM cover where ID =?");
pst.setInt(1,albumID);
ResultSet rs=pst.executeQuery();
rs.next() ;
in=rs.getBinaryStream("img");
}
catch (SQLException sqle) {
System.err.println("Error in CoverServlet : getCover()-" + sqle);
sqle.printStackTrace() ;
}
finally {
try {
pst.close() ;
cn.close() ;
}
catch (Exception e) {
e.printStackTrace();
}
}
return in;
}
public void destroy() {
}
}
这里有段代码,应该可以搞定/