zoukankan      html  css  js  c++  java
  • oracle 数据库存放读取二进制文件(将上传的文件流存在数据库)

    private void saveBinary(InputStream in, Long userId, String remark) {
            Sql sql = new Sql("insert into 表名 (id,CONTENT,USER_ID,REMARK) values(序列.NEXTVAL,?,?,?)");
            sql.addParameter(new Parameter(DataType.BLOB, in));//需要存的二进制文件流
            sql.addParameter(new Parameter(DataType.LONG, userId));//Long类型
            sql.addParameter(new Parameter(DataType.STRING, remark));//String类型
            dao.execute(sql);
        } 
    
     public InputStream getBinary(String sql) {
            InputStream fis = null;
            Connection conn = null;
            PreparedStatement pstmt = null;
            try {
                conn = ContextUtil.getConnection();
                // --
                pstmt = conn.prepareStatement(sql);
                ResultSet rs = pstmt.executeQuery();
                if (rs.next()) {
                    fis = rs.getBinaryStream(1);
                }
                rs.close();
                // --
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (pstmt != null) {
                    try {
                        pstmt.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
                if (conn != null) {
                    try {
                        conn.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
            }
            return fis;
        }
  • 相关阅读:
    springboot mail 发送邮件
    颜色透明度16进制对照表
    Java基础系列之(三)
    QQ2010协议分析系列(五)
    QQ2010协议分析系列(四)
    QQ2010协议分析系列(三)
    QQ2010协议分析系列(二)
    QQ2010协议分析系列(一)
    Java基础系列之(二)
    Java基础系列之(一)
  • 原文地址:https://www.cnblogs.com/sisi-five/p/3991148.html
Copyright © 2011-2022 走看看