人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

書籍「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しか受け取れないということはわかりましたが、
サンプルに一切手を加えていないのでなぜ動かないのか疑問です。
サンプル自体の間違いなのか、何か手を加えないと動かないのかわかりません。
なにか事情をご存知の方がいましたら教えて下さい。

●質問者: kuri6
●カテゴリ:インターネット ウェブ制作
✍キーワード: Class Java name object Spring
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● KUROX
●27ポイント

出版社のHPで、

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

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

◎質問者からの返答

KUROXさんありがとう!

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

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

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


2 ● KUROX
●27ポイント

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

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

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

だと思います。

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

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

◎質問者からの返答

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

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

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


3 ● いっち
●26ポイント

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

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

◎質問者からの返答

え! 確認します

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ