[Seasar-user:21101] Re: MySQL と S2Dao の連携
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2011年 10月 27日 (木) 09:24:29 JST
masanです。
大中(せと)様
回答ありがとうございます。
Std.javaとStdDao.javaは下記のようになっています。
[Std.java]
package avpdd2.entity;
import java.sql.Timestamp;
import org.seasar.dao.annotation.tiger.Column;
public class Std {
private String bsno;
private String FName;
private String path;
private Timestamp registday;
private int sequence;
private String kind;
public String getBsno() {
return bsno;
}
public void setBsno(String bsno) {
this.bsno = bsno;
}
@Column("f_name")
public String getFName() {
return FName;
}
public void setFName(String fName) {
FName = fName;
}
public String getKind() {
return kind;
}
public void setKind(String kind) {
this.kind = kind;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public Timestamp getRegistday() {
return registday;
}
public void setRegistday(Timestamp registday) {
this.registday = registday;
}
public int getSequence() {
return sequence;
}
public void setSequence(int sequence) {
this.sequence = sequence;
}
}
[StdDao.java]
package avpdd2.dao;
import org.seasar.dao.annotation.tiger.S2Dao;
import avpdd2.entity.Std;
@S2Dao(bean=Std.class)
public interface StdDao {
public Std[] selectAll();
public int insert(Std std);
public int update(Std std);
public int delete(Std std);
}
一致していないようには思えないのですが・・・。
以上、よろしくお願いいたします。
>送信者 : <[E-MAIL ADDRESS DELETED]>
>主題 : [Seasar-user:21100] Re:MySQL と S2Dao の連携
>受信日 :11/10/27 00:06
>属性 : なし
>
>大中(せと)です。
>
>StdDao のBEANアノテーションで指定しているクラスと
>insertメソッドの引数のクラスは一致していますか?
>
>
>2011年10月26日8:55 <[E-MAIL ADDRESS DELETED]>:
>> masanです。
>>
>> S2Daoを利用してデータベースMySQLのデータ入力、更新を行う
>> Javaアプリケーションを作っています。
>> 下記のようにコーディングをしています。
>>
>> public class SpecRegist {
>>
>> /**
>> * @param args
>> */
>> public static void main(String[] args) {
>> // TODO 自動生成されたメソッド・スタブ
>>
>> //StdDaoの取得
>> S2Container container = S2ContainerFactory.create("avpdd2/dao/StdDao.dicon");
>> StdDao stdDao = (StdDao)container.getComponent(StdDao.class);
>>
>> // INSERT
>> Std std = new Std();
>> std.setBsno("XXXXXXX-XXX");
>> std.setFName("XXXXXX-X-SPEC");
>> Timestamp tObject = null;
>> try {
>> tObject = new Timestamp(new SimpleDateFormat("yyyy/MM/dd").parse("2011/10/25").getTime());
>> } catch (Exception e) {
>>
>> }
>> std.setRegistday(tObject);
>>
>> stdDao.insert(std);
>> }
>>
>> }
>>
>> 最後の、stdDao.insert(std) の部分で
>>
>> Exception in thread "main" org.seasar.dao.MethodSetupFailureRuntimeException:
>> [EDAO0019]avpdd2.dao.StdDaoのinsertメソッドの初期化時に例外が発生しました。
>> 理由はorg.seasar.dao.IllegalSignatureRuntimeException:
>> [EDAO0006](public abstract int avpdd2.dao.StdDao.insert(avpdd2.entity.Std))は不正です。
>> 引数は1つでBeanの型と一致しなければなりません。
>>
>> と言うエラーが発生していて、原因がわかりません。
>> ググっては見たのですが、今回のものに該当するものは見つからなかったので
>> 質問をさせていただきました。
>>
>> 以上、よろしくお願いいたします。
>>
>> ■開発環境
>> S2Dao 1.0.51
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>_______________________________________________
>Seasar-user mailing list
>[E-MAIL ADDRESS DELETED]
>https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内