zoukankan      html  css  js  c++  java
  • JdbcTemplate 操作Oracle Blob

    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;
                }
            });
        }
  • 相关阅读:
    常吃二十种降血脂食物,三高不再缠身
    员工能力要从“人海战术”转向“精兵强将”
    企业家必备的4项核心能力
    优秀管理者在哪些方面超乎常人
    高血压 降压方法
    教育视频
    吉他和弦 学习
    spoj 375 QTREE
    hihocoder #1260 : String Problem I
    codeforces 282E. Sausage Maximization Trie
  • 原文地址:https://www.cnblogs.com/yshyee/p/5983287.html
Copyright © 2011-2022 走看看