小编Jig*_*hua的帖子

使用Spring JDBC的PreparedStatementCreator的正确方法是什么?

根据我的理解,在Java中使用PreparedStatement是我们可以多次使用它.但是我使用Spring JDBC的PreparedStatementCreator有些困惑.

例如,考虑以下代码,

public class SpringTest {

    JdbcTemplate jdbcTemplate; 
    PreparedStatementCreator preparedStatementCreator; 
    ResultSetExtractor<String> resultSetExtractor;

    public SpringTest() throws SQLException {

        jdbcTemplate = new JdbcTemplate(OracleUtil.getDataSource());

        preparedStatementCreator = new PreparedStatementCreator() {
            String query = "select NAME from TABLE1  where ID=?";
            public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
                return connection.prepareStatement(query);
            }
        };

        resultSetExtractor  = new ResultSetExtractor<String>() {
            public String extractData(ResultSet resultSet) throws SQLException,
            DataAccessException {
                if (resultSet.next()) {
                    return resultSet.getString(1);
                }
                return null;
            }
        };
    }
    public String getNameFromId(int id){
        return jdbcTemplate.query(preparedStatementCreator, new Table1Setter(id), resultSetExtractor); …
Run Code Online (Sandbox Code Playgroud)

spring prepared-statement spring-jdbc jdbctemplate

10
推荐指数
1
解决办法
3万
查看次数

使用Hector Client检索Cassandra中所有行的列

我是cassandra和hector的新手.

我想使用hector检索Cassandra中一行的所有列.在网上进行一些探索之后,我得到了一些示例代码,但它需要范围或列名,例如,

SliceQuery<String,String,String> query = HFactory.createSliceQuery(keyspace, ss, ss, ss);
    query.setColumnFamily("MyColumnFamily").setKey("S001").setRange(null, null, false, 100);
    QueryResult<ColumnSlice<String,String>> result = query.execute();
    for (HColumn<String, String> column : result.get().getColumns()) {
        System.out.println(column.getName() +"::"+ column.getValue());
    }
Run Code Online (Sandbox Code Playgroud)

这里我需要在setRange()方法中设置Range,它检索此范围内的列.我们也可以在这个方法中设置start和end,但是这也会给出特定范围的列.如果我没有设置范围,那么我需要将列名称作为数组.

有没有办法获得特定行的所有列?我不想设置范围或列名,我只想要一行的所有列.因为在我的应用程序列中没有预定义.

或者有没有办法获得一行的总列数,所以我可以在setRange()方法中设置它?

谢谢.

cassandra hector

7
推荐指数
1
解决办法
7771
查看次数