当前位置: 首页>>代码示例>>Java>>正文


Java LargeObjectManager.createLO方法代码示例

本文整理汇总了Java中org.postgresql.largeobject.LargeObjectManager.createLO方法的典型用法代码示例。如果您正苦于以下问题:Java LargeObjectManager.createLO方法的具体用法?Java LargeObjectManager.createLO怎么用?Java LargeObjectManager.createLO使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.postgresql.largeobject.LargeObjectManager的用法示例。


在下文中一共展示了LargeObjectManager.createLO方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setPostgreSqlParameterWithLargeObject

import org.postgresql.largeobject.LargeObjectManager; //导入方法依赖的package包/类
/**
    * Create a Large Object to set the PostgreSQL OID with
    * 
    * @param preparedStatement
    *            the Prepared Statement
    * @param parameterIndex
    *            the parameter index
    * @param in
    *            The Input Stream to use
    * @param connection
    *            the JDBC Connection
    * @throws SQLException
    * @throws IOException
    */
   public static void setPostgreSqlParameterWithLargeObject(
    PreparedStatement preparedStatement, int parameterIndex,
    InputStream in, Connection connection) throws SQLException,
    IOException {
// Get the Large Object Manager to perform operations with
LargeObjectManager lobj = ((org.postgresql.PGConnection) connection)
	.getLargeObjectAPI();

// Create a new large object
long oid = lobj.createLO(LargeObjectManager.READ
	| LargeObjectManager.WRITE);

// Open the large object for writing
LargeObject obj = lobj.open(oid, LargeObjectManager.WRITE);

try (OutputStream out = obj.getOutputStream();){
    IOUtils.copy(in, out);
} finally {
    //IOUtils.closeQuietly(out);
    // Close the large object
    obj.close();
}

preparedStatement.setLong(parameterIndex, oid);
   }
 
开发者ID:kawansoft,项目名称:aceql-http,代码行数:40,代码来源:PostgreSqlUtil.java

示例2: createFile

import org.postgresql.largeobject.LargeObjectManager; //导入方法依赖的package包/类
@Override
public void createFile(JDBCSequentialFile file) throws SQLException {
   synchronized (connection) {
      try {
         connection.setAutoCommit(false);

         LargeObjectManager lobjManager = ((PGConnection) connection).getLargeObjectAPI();
         long oid = lobjManager.createLO();

         createFile.setString(1, file.getFileName());
         createFile.setString(2, file.getExtension());
         createFile.setLong(3, oid);
         createFile.executeUpdate();

         try (ResultSet keys = createFile.getGeneratedKeys()) {
            keys.next();
            file.setId(keys.getLong(1));
         }
         connection.commit();
      } catch (SQLException e) {
         connection.rollback();
         throw e;
      }
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:26,代码来源:PostgresSequentialSequentialFileDriver.java

示例3: doWritePostgres

import org.postgresql.largeobject.LargeObjectManager; //导入方法依赖的package包/类
private void doWritePostgres(Handle h, String id, InputStream file) {
    doDelete(h, id);
    try {
        LargeObjectManager lobj = getPostgresConnection(h.getConnection()).getLargeObjectAPI();
        long oid = lobj.createLO();
        LargeObject obj = lobj.open(oid, LargeObjectManager.WRITE);
        try (OutputStream lob = obj.getOutputStream()) {
            IOUtils.copy(file, lob);
        }

        h.insert("INSERT INTO icon_filestore(id, data) values (?,?)", id, oid);
    } catch (IOException | SQLException ex) {
        throw IconDataAccessException.launderThrowable(ex);
    }
}
 
开发者ID:syndesisio,项目名称:syndesis,代码行数:16,代码来源:SqlIconFileStore.java

示例4: doWritePostgres

import org.postgresql.largeobject.LargeObjectManager; //导入方法依赖的package包/类
private void doWritePostgres(Handle h, String path, InputStream file) {
    doDelete(h, path);
    try {
        LargeObjectManager lobj = getPostgresConnection(h.getConnection()).getLargeObjectAPI();
        long oid = lobj.createLO();
        LargeObject obj = lobj.open(oid, LargeObjectManager.WRITE);
        try (OutputStream lob = obj.getOutputStream()) {
            IOUtils.copy(file, lob);
        }

        h.insert("INSERT INTO filestore(path, data) values (?,?)", path, oid);
    } catch (IOException | SQLException ex) {
        throw ExtensionDataAccessException.launderThrowable(ex);
    }
}
 
开发者ID:syndesisio,项目名称:syndesis,代码行数:16,代码来源:SqlExtensionFileStore.java

示例5: doWritePostgres

import org.postgresql.largeobject.LargeObjectManager; //导入方法依赖的package包/类
private void doWritePostgres(Handle h, String path, InputStream file) {
    doDelete(h, path);
    try {
        LargeObjectManager lobj = getPostgresConnection(h.getConnection()).getLargeObjectAPI();
        long oid = lobj.createLO();
        LargeObject obj = lobj.open(oid, LargeObjectManager.WRITE);
        try (OutputStream lob = obj.getOutputStream()) {
            IOUtils.copy(file, lob);
        }

        h.insert("INSERT INTO filestore(path, data) values (?,?)", path, oid);
    } catch (IOException | SQLException ex) {
        throw FileStoreException.launderThrowable(ex);
    }
}
 
开发者ID:syndesisio,项目名称:syndesis-rest,代码行数:16,代码来源:SqlFileStore.java


注:本文中的org.postgresql.largeobject.LargeObjectManager.createLO方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。