为了账号安全,请及时绑定邮箱和手机立即绑定

Hibernate4存取图片(Blob)

标签:
Java

存放图片的核心代码


            try {               
                User u = new User();
                u.setName("小冥王");
                 File f = new File("D:"+File.separator+"m.jpg");
                    //获得照片文件的输入流
                InputStream input = new FileInputStream(f);
                byte[] b = new byte[input.available()];
                input.read(b);
                Blob blob = session.getLobHelper().createBlob(b);
                u.setImage(blob);
                session.save(u);

                tran.commit();

            } catch (FileNotFoundException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            } catch (IOException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }        

读取到本地的核心代码:


        try {
            String hql ="from User where id = 1";
            Query q = session.createQuery(hql);
            User u = (User) q.list().get(0);
            System.out.println(u.getName());
            Blob blob = u.getImage();
            File file = new File("E:/test/m.jpg");
            InputStream is = blob.getBinaryStream();
            byte[] b = new byte[1024];
            OutputStream os = new FileOutputStream(file);
            while (is.read(b)!= -1) {
                os.write(b);                
            }
            os.close();
            is.close();
        } catch (SQLException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        } catch (IOException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消