書籍「SpringによるWebアプリケーションスーパーサンプル」についての質問です。

サンプル2-1の「チーム一覧を作ろう」で、サンプルをそのまま実行したら以下のエラーになりました。

========
Exception in thread "main" java.lang.Error: コンパイル問題が未解決です。
型 Team のメソッド setId(Integer) は引数 (int) に適用できません。
========

エラーになっている箇所は、以下の「 team.setId(rs.getInt("team_id"));」です。

■TeamDaoImpl.java(抜粋)

public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
// ResultSetからオブジェクトへ詰め替え
Team team = new Team();
team.setId(rs.getInt("team_id"));
team.setName(rs.getString("name"));

return team;
}

■Team.java(抜粋)

public class Team {
private Integer id;

private String name;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}
}

java.sql.ResultSetのgetIntがintしか受け取れないということはわかりましたが、
サンプルに一切手を加えていないのでなぜ動かないのか疑問です。
サンプル自体の間違いなのか、何か手を加えないと動かないのかわかりません。
なにか事情をご存知の方がいましたら教えて下さい。

回答の条件
  • 1人10回まで
  • 登録:
  • 終了:2007/08/05 15:50:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:KUROX No.1

回答回数3542ベストアンサー獲得回数140

ポイント27pt

出版社のHPで、

[2006/07/25] 『SpringによるWebアプリケーションスーパーサンプル』 修正ファイル が提供されています

http://www.sbcr.jp/books/products/detail.asp?sku=4797334223

id:kuri6

KUROXさんありがとう!

でも 本件の修正ソースはなかったです…

やっぱりソースが悪いのではなくて 設定??

うーん もっとソースと睨めっこします。

2007/07/29 16:28:17
id:KUROX No.2

回答回数3542ベストアンサー獲得回数140

ポイント27pt

コメントつけれないのでこちらに。

サンプルプログラムが間違っていると思います。

team.setId(new Integer(rs.getInt("team_id")));

だと思います。

int は単なる変数、Integerはクラス(オブジェクト)なので

キャストとかできません。

id:kuri6

ありがとうございます。サンプル2-1はできました。

2-2も同様のところがあるので、直してみます。

また書きます。助かりました!

2007/07/29 17:47:51
id:iyuichi No.3

回答回数9ベストアンサー獲得回数0

ポイント26pt

javaのバージョンは何を使っているのでしょうか?

5.0以降ならできそうな気がします。

id:kuri6

え! 確認します

2007/08/02 23:27:13

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません