結局本棚は買わないことにしたため、読まない月刊雑誌 20 冊あたりを 一括で削除。
引っ越しを考え段ボールを残していたものの、引っ越し業者に任せれば いいんじゃないのかということで段ボールも削除。
懐かしいものが出てきたりして作業進まず。
年末に購入した Spring 本を見ながら初めての Spring JDBC。
Spring と連携してパラメータに名前をつけてバインドしたところこんな感じ。
public class DefaultHogeDao extends NamedParameterJdbcDaoSupport implements HogeDao {
private static final String FIND_BY_PK = ""
+ "select "
+ " id, name "
+ "from "
+ " Hoge "
+ "where "
+ " id=:id";
public Hoge findHogeByPk(long id) {
MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("id", 1);
return (Hoge) getNamedParameterJdbcTemplate().queryForObject(FIND_BY_PK, parameters, new RowMapper() {
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
Hoge hoge = new Hoge();
hoge.setId(rs.getLong("id"));
hoge.setName(rs.getString("name"));
return hoge;
}
});
}
}
パフォーマンスと楽さ加減を勝手に点数つけて、今まで触った中ではこんなイメージです。
S2Dao >= iBatis > Spring JDBC > Hibernate
Hibernate はつかいこなせない自分へのへぼさ加減が大きいです。
Spring JDBC は複数条件時の and / or を付加していく作業がコーディングなので面倒そうです。
この作業でバインドしそこねるのを何度か目にしたことがあるので、 コーディングはあまりしたくないかなと。
本にも書いてあるとおり速度重視のバッチ向けですね。バッチ処理書いたことがほとんどないんですけど・・・