zoukankan      html  css  js  c++  java
  • 【数据库】JDBC课设(5)将图片以二进制流方法添加进MySQL并查询

    首先我们来看一下 BLOB格式

    BLOB (binary large object)----二进制大对象,是一个可以存储二进制文件的容器。

      在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。
      BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。
     
    复习一下加一个新列的语句奥
     

    在插入的时候遇到了问题(图片太大了 导致超出了BLOB长度)

    错误如下:

    错误原因:https://blog.csdn.net/oy538730875/article/details/84519168

     

     我新去建了一列LONGBLOB格式的列

    运行成功了 yeah

    在数据库中显示是这样的

     我们尝试取出来看看

    成功取出来了!

      //查询图片 输出到新文件里面
                String sql="select PHOTO_LONG  from tablename1 where age=?";
                pstm=conn.prepareStatement(sql);
                pstm.setInt(1,34);
                rs=pstm.executeQuery();
                if(rs.next()) {
                    InputStream inputStream = rs.getBinaryStream(1);
                    FileOutputStream fos = new FileOutputStream("src\copy.jpg");
                    byte[] b = new byte[1024];
                    int len = -1;
                    while ((len = inputStream.read(b)) != -1) {
                        fos.write(b, 0, len);
                    }
    
                    fos.close();
                    inputStream.close();
    
    
                }

    关于IO还是有很多要补的、多写写SQL语句

    JDBC课设就到这里结束了

  • 相关阅读:
    数据库连接池-配置 wallfilter问题解决-UncategorizedSQLException
    maven统一配置
    maven依赖排除
    list排序
    spring boot日志配置
    HDU 5281 Senior's Gun (贪心)
    Saving HDU (贪心)
    切割木板 (贪心)
    查找最少标记点 (贪心)
    字典序最小问题 (贪心)
  • 原文地址:https://www.cnblogs.com/cckong/p/14255619.html
Copyright © 2011-2022 走看看