问题描述
我的实体类:publicListfindByBianhao(Stringbianhao){Transactiontx=null;Listlist=null;try{session=hib.openSession();tx=(Transaction)session.beginTransaction();Queryquery=session.createQuery("fromLipinasawherea.bianhao="+bianhao);list=query.list();if(list==null){System.out.println("ok");}for(inti=0;i<list.size();i++){Lipinlipin=(Lipin)list.get(i);System.out.print(lipin.getPicture()+"t");System.out.print(lipin.getName()+"t");System.out.print(lipin.getBianhao()+"t");System.out.print(lipin.getCaizhi()+"t");System.out.print(lipin.getGuige()+"t");System.out.print(lipin.getHuayu()+"t");System.out.print(lipin.getHuiyuan_jiage()+"t");System.out.print(lipin.getShichang_jiage()+"t");System.out.print(lipin.getPeisongfanwei()+"t");System.out.print(lipin.getVip_jiage()+"t");System.out.println("");}tx.commit();hib.closeSession(session);}catch(Exceptione){e.printStackTrace();tx.rollback();}returnlist;}System.out.print(lipin.getPicture()+"t");我的picture的类型是blob型的,查出来是一堆乱码怎么转换然后显示在页面上?
解决方案
解决方案二:
用image对象
解决方案三:
也可以在数据库存图片名称,然后把图片存在项目的根目录下的文件夹。这个比较简单的。
解决方案四:
下班了,下个礼拜一解决,呵呵!
解决方案五:
大对象类型要转型的应该是这样子的你将它转换成流的形式读到页面上就好了
解决方案六:
Queryquery=session.createQuery("fromLipinasawherea.bianhao="+bianhao);list=query.list();执行完这句我应该已经将数据库中的图片数据得到了吧?if(list==null){System.out.println("ok");}for(inti=0;i<list.size();i++){Lipinlipin=(Lipin)list.get(i);lipin.getPicture()在这怎么转换啊?System.out.print(lipin.getPicture()+"t");}
解决方案七:
LZ,你先搞清Picture里面存入的是什么,如何是路径名,需要通过路径将图片读出来,输出到前台如果存入的是字节数组,则直接度数组,然后输出。输出的形式在你另外一个帖子我有说过。
解决方案八:
Class.forName("org.gjt.mm.mysql.Driver").newInstance();Stringurl="jdbc:mysql://localhost/test?user=root&password=mysql&useUnicode=true&characterEncoding=8859_1";Connectionconn=DriverManager.getConnection(url);Stringid=request.getParameter("id");Stringsql="selectpicturefromuploadwhereid="+id;Statementstmt=null;ResultSetrs=null;try{stmt=conn.createStatement();rs=stmt.executeQuery(sql);}catch(SQLExceptione){System.out.println("FFFFFF");}try{rs.next();InputStreamin=rs.getBinaryStream("picture");ServletOutputStreamsos=response.getOutputStream();intlen=0;byte[]b=newbyte[1024];response.reset();response.setContentType("image/gif");while((len=in.read(b))>0){sos.write(b,0,len);}in.close();sos.close();stmt.close();}catch(Exceptione){System.out.println(e);}
楼主可以看看这个~
解决方案九:
上面这个代码,我是写在jsp页面中的~