JdbcTemplate 操作Oracle Blob

來源:互聯網
上載者:User

標籤:

1:增加操作

public int addTest(TestVo tv) {        byte bz[] = tv.getBz().getBytes();        LobHandler lobHandler = new DefaultLobHandler();        String sql = "insert into test(name,age,bz) values(?,?,?)";        return jdbcTpl.execute(sql,new AbstractLobCreatingPreparedStatementCallback(lobHandler){            @Override            protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException, DataAccessException {                ps.setString(1,tv.getName());                ps.setInt(2,tv.getAge());                lobCreator.setBlobAsBytes(ps,3,bz);            }        });    }

 

2:查詢操作

public List<TestVo> getTestList() {        String sql = "select name,age,bz from test";        return jdbcTpl.query(sql,new Object[]{},new RowMapper<TestVo>(){            @Override            public TestVo mapRow(ResultSet rs, int rowNum) throws SQLException {                TestVo tv =new TestVo();                tv.setName(rs.getString("name"));                tv.setAge(rs.getInt("age"));                InputStream is = rs.getBlob("bz").getBinaryStream();                ByteArrayOutputStream out = new ByteArrayOutputStream();                int len = 0;                try {                    while((len=is.read())!=-1){                        out.write(len);                    }                    tv.setBz(Base64Utils.encodeToString(out.toByteArray()));                } catch (IOException e) {                    e.printStackTrace();                } finally {                    try {                        if(null!=out){                            out.close();                        }                    } catch (IOException e) {                        e.printStackTrace();                    }finally {                        try {                            if(is!=null){                                is.close();                            }                        } catch (IOException e) {                            e.printStackTrace();                        }                    }                }                return tv;            }        });    }

 

JdbcTemplate 操作Oracle Blob

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.