[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 メーリングリストの案内