[Seasar-user:6038] S2Dao で NullPointerException
o.h.
[E-MAIL ADDRESS DELETED]
2007年 2月 6日 (火) 11:29:00 JST
お世話になっております。長谷川です。
相変わらず勉強中でして、今回は S2Dao でサンプルコードを書いてみて
います。
s2-framework-2.4.9
s2-extention-2.4.9
s2-dao-1.0.40
s2-dao-tiger-1.0.40
で、作成したサンプルの実行時に以下のような例外が発生します。
#改行がみにくいですが
Exception in thread "main" java.lang.NullPointerException
at
org.seasar.extension.jdbc.impl.BasicHandler.prepareStatement(BasicHandler.java:95)
at
org.seasar.extension.jdbc.impl.BasicSelectHandler.prepareStatement(BasicSelectHandler.java:146)
at
org.seasar.extension.jdbc.impl.BasicSelectHandler.execute(BasicSelectHandler.java:131)
at
org.seasar.extension.jdbc.impl.BasicSelectHandler.execute(BasicSelectHandler.java:120)
at
org.seasar.dao.impl.SelectDynamicCommand.execute(SelectDynamicCommand.java:60)
at
org.seasar.dao.interceptors.S2DaoInterceptor.invoke(S2DaoInterceptor.java:53)
at
org.seasar.dao.pager.PagerS2DaoInterceptorWrapper.invoke(PagerS2DaoInterceptorWrapper.java:64)
at
foo.dao.COMSTableDao$$EnhancedByS2AOP$$1e8a1f6$$MethodInvocation$$getAllComs0.proceed(MethodInvocationClassGenerator.java)
at
foo.dao.COMSTableDao$$EnhancedByS2AOP$$1e8a1f6.getAllComs(COMSTableDao$$EnhancedByS2AOP$$1e8a1f6.java)
at foo.test.DaoTest.main(DaoTest.java:30)
おそらく初歩的な設定のミスだとは思うのですが、原因がわかりません
以下、作業の手順です
1.JavaBean 作成
@Bean(table = "COMS")
public class COMS {
....
@Column("PKEY")
public String getKey() {
return key;
}
}
2.Dao インターフェース作成
@S2Dao(bean = COMS.class)
public interface COMSTableDao {
List getAllComs();
}
3.app.dicon 設定
<include path="dao.dicon"/>
<component name="COMSTableDao" class="foo.dao.COMSTableDao">
<aspect>dao.interceptor</aspect>
</component>
4.main の実装
S2Container container = S2ContainerFactory.create(PATH);
container.init();
try {
COMSTableDao dao = (COMSTableDao) container
.getComponent("COMSTableDao");
List list = dao.getAllComs();
} finally {
container.destroy();
}
で、このリストを取得する時点で例外が発生しています。
#多少修正していますので、スペルミスがあるかもしれませんがご容赦を
該当のテーブルからは BasicSelectHandler を使うことでデータが取り出せる
ことを確認していまして、JDBC 関連の設定は正しいものと考えています。
以上、よろしくお願いいたします。
--
_/_/
_/_/ mailto: [E-MAIL ADDRESS DELETED]
_/_/ (deprecated: [E-MAIL ADDRESS DELETED])
_/_/
Seasar-user メーリングリストの案内