2010-07-04 36 views
2

我想學習如何在我的MSSQL表上插入BLOB數據時使用存儲過程。使用存儲過程,當在blob在春天mvc

final File blobIn = new File("spring2004.jpg"); 
final InputStream blobIs = new FileInputStream(blobIn); 
final File clobIn = new File("large.txt"); 
final InputStream clobIs = new FileInputStream(clobIn); 
final InputStreamReader clobReader = new InputStreamReader(clobIs); 
jdbcTemplate.execute(
    "INSERT INTO lob_table (id, a_clob, a_blob) VALUES (?, ?, ?)", 
    new AbstractLobCreatingPreparedStatementCallback(lobhandler) {       (1) 
     protected void setValues(PreparedStatement ps, LobCreator lobCreator) 
      throws SQLException { 
     ps.setLong(1, 1L); 
     lobCreator.setClobAsCharacterStream(ps, 2, clobReader, (int)clobIn.length()); (2) 
     lobCreator.setBlobAsBinaryStream(ps, 3, blobIs, (int)blobIn.length());   (3) 
     } 
    } 
); 
blobIs.close(); 
clobReader.close(); 

spring framework 2.5文檔使用jdbc模板。但對我來說這是一個NO-NO。 我希望有人可以分享他們對如何插入和檢索數據的見解,如輸入流 。

我一直在試圖谷歌的答案,但沒有足夠的資源可以找到。

+0

這有什麼錯'JdbcTemplate'? – skaffman 2010-07-04 09:38:27

+0

嗨Skaffman, 存儲過程比原始jdbc模板更具靈活性。我可以執行服務器端查詢,而不需要從客戶端到服務器再往返。 謝謝。 – 2010-07-07 07:50:41

回答

0

您可以嘗試使用Spring + JPA進行本機查詢或使用JpaDaoSupport。

有下面的鏈接很好的答案: