• 締切済み

JavaBeansにDBの値を格納

JavaBeansにDBの値を格納したいのですがやり方がよくわかりません。 どなたかわかる方教えていただけないでしょうか? ちなみにこんなやり方でやってみました。 DAOは int i = 0; while(rs.next()){    jb.setId(i,rs.getString("syouhinid"));    i++; } JavaBeansは private String[] id = null; public void setId(int i, String val){ this.id[i] = val; } public String getId(int i){ return id[i]; } こんな感じです。 部分的ですがこんな感じです。 ソースコードを全部乗せると長くなるので、全部乗せられませんが、 いまいちJavaBeansにDBの値を格納するやり方がわからないので 皆さん色々教えてください。宜しく御願い致します。

みんなの回答

noname#147388
noname#147388
回答No.2

IndexOutOfBoundsException だな(・q・ 自動追加リストを使いましょう。

noname#147388
noname#147388
回答No.1

エスパー的余地で NPE で落ちてると予想。 String[] id = null で入れ物つくってないから NPE でおちてるだけじゃね?

iris0625
質問者

お礼

確かにその通りです。ありがとうございます。 でも、DBの値って増えたり、減ったりするから配列も可変じゃないと駄目ですよね? そういう場合ってArrayListを使えばいいんですか? ArrayListを使ってみたのですがやっぱり上手くいきません。 内容はJavaBeansが ArrayList<String[]> syouhin = new ArrayList<String[]>(); public void setSyuouhin(ArrayList<String[]> val){ this.syouhin = val; } public ArrayList<String[]> getSyouhin(){ return syouhin; } public void setMenu(String syouhinid, String category, String name, String money){ String[] menu = {syouhinid,category,name,money}; syouhin.add(menu); } public String[] getMenu(int i){ return syouhin.get(i); } で DAOが syodb.JavaBeans jb = new syodb.JavaBeans(); while(rs.next()){   String syouhinid = rs.getString("syouhinid");   String category =rs.getString("categoryid");   String name =rs.getString("name");   String money =rs.getString("money");   jb.setMenu(syouhinid, category , name, money ); } です。 これでも上手く格納できませんでした。 後、JavaBeansに格納した値が上手く呼び出せません。 JavaBeansで private String categoryid = new String(); public void setCategoryId(String val){ this.categoryid = val; } public String getCategoryId(){ return categoryid; } と書いて Controllerで syodb.JavaBeans jb = new syodb.JavaBeans(); jb.setCategoryId(category); とし、 Modelで syodb.JavaBeans jb = new syodb.JavaBeans(); String categoryid = jb.getCategoryId(); というふうに書いたのですが上手く呼び出せません。 多分、private String categoryidで引っかかっているのかなと 思っているのですが、原因も解決方法もよくわかりません。 よろしければこれも教えて頂けないでしょうか? 自分でも色々調べてるのですがどうしても解決できないので どうか宜しく御願い致します。

関連するQ&A

専門家に質問してみよう