「Spring」DataSourceUtils.getConnection()でblodbータを取得してファイルに書き込むサンプルコード

Javaコード
public boolean blobStreamGet(String sql,OutputStream fileOut)
{
boolean flag=true;
try {
Connection conn = DataSourceUtils.getConnection(getJdbcTemplate().getDataSource());
conn.setAutoCommit(false); //自動コミット無効をする
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql);
if (rs.next()) {
java.sql.Blob blob = rs.getBlob(1);
InputStream ins = blob.getBinaryStream();
//blobデータをファイルに書き込む
byte[] b = new byte[1024];
int len = 0;
while ((len = ins.read(b)) != -1) {
fileOut.write(b, 0, len);
}
fileOut.close();
ins.close();
}
conn.commit();
rs.close();
st.close();
conn.close();
} catch (IOException ex) {
flag=false;
} catch (SQLException ex) {
flag=false;
}
return flag;
}

Java

Posted by arkgame