BLOB ou BFILE

Gostaria de saber como eu faço para gravar um arquivo em um campo BFILE ou BLOB (Oracle) e como faço para pegar este conteúdo do Banco e mostrar em um JSP?

Agradeço quem puder ajudar.

Ok. Vamos colocar um arquivo dentro de um blob ta?

InputStream picture = new FileInputStream("arquivo");

Faz de conta que voce tem um campo BLOB chamado arquivo dentro da tabela teste.

Agora, vamos usar um prepared statement, voce conhece? Eh muito aprecido com o java.sql.Statement, mas eh melhor. Faz de conta que voce ja tem uma Connection chamada connection:

PreparedStatement ps = 
connection.prepareStatement("INSERT INTO teste (arquivo) VALUES (?)")

Estranho esse “?” nao? Esse eh o legal do preparedStatement. Agora a gente seta o campo, sem ter de nos preocupar com aspas, barras invertidas e etc:

// setando o primeiro ponto de interrogacao
ps.setObject(1, picture); 
//executando:
ps.executeUpdate();

Pronto! Legal nao? O driver toma conta de colocar essa montanha de bytes na query sql…