本文整理汇总了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);
}
示例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;
}
}
}
示例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);
}
}
示例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);
}
}
示例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);
}
}