• 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;
        }
  • 相关阅读:
    lua中的冒号和点
    NuGet使用简要说明
    C#浅谈类实体与DataTable执行效率
    win8 使用技巧
    Bitnami Redmine 中文附件名 报错修复
    Markdown 测试
    几种常用网页返回顶部代码
    文字超出隐藏并显示省略号
    手机正则写法
    安卓内存管理相关关键字
  • 原文地址:https://www.cnblogs.com/sisi-five/p/3991148.html
Copyright © 2020-2023  润新知