[英]insert blob with spring jdbctemplate
我正在嘗試通過以下代碼使用jdbctemplate在表中插入Blob
LobHandler handler = new DefaultLobHandler();
int dbresponse = jdbcTemplate.update(DBConstants.INSERT_INVOICE, new Object[]{invoiceBean.getVendorid(),
new SqlLobValue(invoiceBean.getInvoiceImage(), invoiceBean.getInvoiveImageLength(), handler), invoiceBean.getInvoiceDate()},
Types.INTEGER,Types.BLOB, Types.VARCHAR);
但出現以下錯誤
Caused by: java.sql.SQLException: Invalid argument value: java.io.NotSerializableException
.......
Caused by: java.io.NotSerializableException: org.springframework.jdbc.core.support.SqlLobValue
我已經將invoiceBean類設置為Serializable,但是得到了相同的錯誤。
注意:小尺寸的圖像已成功插入數據庫,但是大尺寸圖像通常會大於1 MB,因此會出現問題
好心的建議 !!!
我認為最后一個參數應該是一個int數組:
LobHandler handler = new DefaultLobHandler();
int dbresponse = jdbcTemplate.update(
DBConstants.INSERT_INVOICE,
new Object[]{
invoiceBean.getVendorid(),
new SqlLobValue(invoiceBean.getInvoiceImage(), invoiceBean.getInvoiveImageLength(), handler),
invoiceBean.getInvoiceDate()},
new int[] {Types.INTEGER, Types.BLOB, Types.VARCHAR});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.