2

大きなXMLデータをCLOBに格納し、CLOBを文字列に変換し直す必要があります

しかし、問題は私たちが使用していることです(Spring NamedParameterJdbc template)

SqlParameterSource paramSource = new BeanPropertySqlParameterSource(
            positionResponsesDO);
this.jdbcTemplate.update(sql, paramSource);

PositionResponsesDOがgetおよびsetプロパティを持っている場所

private Clob xmlData;

次に、文字列データ(大)をClobに変換し、ClobをStringに変換する必要があります。私に最善の方法を提案してください。

WebAppなのでファイル操作が使えません

4

1 に答える 1

3

とを使用LobHandlerLobCreatorて、ClobsとBlobsを取得し、それらを別のものに変えることができます。

Springのドキュメントでは、ここでそれらについて説明しています。

clobまたはblob列を何かに変換するには、をとるquery()メソッドを使用できます。NamedParameterJdbcTemplateRowMapper

LobHandler lobHandler = new DefaultLobHandler();
jdbcTemplate.query(sql, paramSource,
    new RowMapper<Void>() {
        public Void mapRow(ResultSet rs, int i) throws SQLException {
            String clobText = lobHandler.getClobAsString(rs, "clobColumnName");                                                
            byte[] blobBytes = lobHandler.getBlobAsBytes(rs, "blobColumnName");                                                
            return null;
        }
    });
于 2012-07-10T14:39:43.233 に答える