【数据库】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课设就到这里结束了

相关文章

连接数据库的方式:第一种方式:ODBC:开放数据库连接是微软...
JDBCRequest 使用VariableNamesmysql:数据库连接池对象var...
 1.JDBCDBC(JavaDataBaseConnectivity):Java数据库连接技术...
1.需要jar包的支持:java.sqljavax.sqlmysql-conneter-java....
1.简介Activiti是一个业务流程管理(BPM)框架,它是覆盖了业务...
1.JDBC体系系统一组规范:接口JDBC接口(API)包括两个层次:...