首页 > 解决方案 > 如何检索保存为介质 blob 的多个图像,然后将图像保存到 arrayList 中?

问题描述

我创建了一个名为 images 的类,并有一个列表 imageHolder 成员变量来包含多个图像,然后成功地将其上传到数据库,但我的问题是如何使用 mvc 模式检索多个图像。我正在使用 MySQL dbms。

我知道我必须将 blob 类型转换为部件类型才能将其插入到列表中。

//下面的代码是我如何将图像插入数据库

        InputStream inputStream;

        for (Part imgFile : img.getImageHolder()) {

            inputStream = imgFile.getInputStream();
            ps = connection.prepareStatement
           ("INSERT INTO images(username,image) VALUES (?,?)");
            ps.setString(1, img.getUsername());
            ps.setBlob(2, inputStream);
            ps.executeUpdate();

} //图片检索方法

         List<Part> imageHolder = new ArrayList<>();

         ps = connection.prepareStatement
         ("SELECT * FROM images WHERE username=?");
         ps.setString(1,adName);

         ResultSet rs = ps.executeQuery();

          while(rs.next()){

          Blob blob = rs.getBlob("image");
          //conversion I'm stuck with
          imageHolder.add(imagefile);

          }

在将 blob 转换为部分时,我可以将图像插入到 arrayList 中,然后在调用图像对象时将其返回给 servlet。然后我可以访问属于特定用户的所有图像。嗯,这就是我想出的。如果您对我的代码或我正在使用的图像插入和检索过程的想法提出任何建议,我将不胜感激。先感谢您

标签: javamysqljspservletsmodel-view-controller

解决方案


推荐阅读