0

私は次のようなクラスを持っています:

public class DBConection extends SimpleJdbcDaoSupport implements ElectionsDao{
public List<String> getDates(){
        try{
            String sql = "SELECT electiondate FROM electiondate";
            List<String> dates = new ArrayList<String>();
            dates = getSimpleJdbcTemplate().query(sql,  
                    ParameterizedBeanPropertyRowMapper.newInstance(String.class));

            System.out.println(dates.size());
            System.out.println(dates.get(0));

            return dates;
        }catch(DataAccessException ex){
            throw new RuntimeException(ex);
        }
    }
}

SQL ステートメントから値を取得し、それらを String オブジェクトとして List に追加しようとしていますが、プロジェクトを実行すると値の数が返されますが、すべて空白です。理由を知っている人はいますか?構成ファイルとすべてがあります。を定義する問題に違いないと思いますquery()。Spring フレームワークを使用しています。

4

1 に答える 1

0

私はそれを行う方法を理解しています。

これが私がそれをした方法です:

public class DBConection extends SimpleJdbcDaoSupport implements ElectionsDao{
    public List<String> getDates(){
        List<String> dates = new ArrayList<String>();
        try {
            dates = getSimpleJdbcTemplate().query("SELECT electiondate FROM electiondate";, new StringRowMapper());
        } catch (DataAccessException ex){
        throw new RuntimeException(ex);
        }
        return dates;
    }

    protected static final class StringRowMapper implements ParameterizedRowMapper<String> {
        public String mapRow(ResultSet rs, int line) throws SQLException {
            String string = new String(rs.getString("electiondate"));
            return string;
        }
    }
}

これを機能させるには、「StringRowMapper」内部クラスを実行する必要がありました。

それがあなたを助けることを願っています!

于 2012-05-02T15:10:05.787 に答える