[Seasar-user:16682] s2jdbc SQL実行時のエラー
komitatomotaka
[E-MAIL ADDRESS DELETED]
2009年 1月 15日 (木) 16:47:00 JST
お世話になります。
Komitaと申します。
以前質問させていただいた際は、返信の方法が分からず、結局お礼のないままになっ
てしまい、大変申し訳ありませんでした。
今回また質問させていただきたいことがあり、メールいたしました。
S2JSF+S2DaoでWebアプリケーション開発を行っていたのですが、SQLを外だしで管理
するという意向になり、
それを実現する際に、S2DaoよりもS2JDBCでの開発が適しているという結論に至った
ため、S2JDBCを使用することになりました。
そこで、s2jdgc-tutorialのソースを基に、試しのソースを現在のプロジェクト構成
に組み込んでみたのですが、
jdbcMangaerを実行するところでNullPointExceptionが発生してしまい、SQLが実行さ
れません。
Diconの設定等はサイトを参考にして一通りに設定したはずなのですが、
どこに原因があるのかも突き止められない有様で、、
初歩的な質問で大変恐縮なのですが、ご回答いただけませんでしょうか?
・SqlGetResultList(部分的に抜粋)
private JdbcManager jdbcManager;
public List<shokuin> testSqlGetResultList(String sql, String aaa) {
List<shokuin> results = null;
results =
jdbcManager
.selectBySql(shokuin.class, sql, aaa)
.getResultList();
for (shokuin s : results) {
System.out.println("NAME:" + s.name);
}
・ OutLogicImpl(部分的に抜粋)
SqlGetResultList db = new SqlGetResultList();
String sql = "select * from shokuin where id = ?";
List<String> sList = new ArrayList<String>();
sList.add(arg1);
List<shokuin> dbList = db.testSqlGetResultList(sql, err1);
画面からActionを経由してOutLogicImplを呼び、その中でSqlGetResultList.
testSqlGetResultLisを呼び出しています。
OutLogicImplを配置してあるPJ(PJ_A)と、SqlGetResultListを配置してあるPJ
(PJ_M)は別々になっており、
PJ_AはPJ_Mを参照する形になっています。
以下が実行時のログです。
java.lang.NullPointerException
jp.co.xxx.xxx.SqlGetResultList.testSqlGetResultList(SqlGetResultList.java:28
)
jp.co.xxx.xxx.impl.OutLogicImpl.arg(OutLogicImpl.java:43)
jp.co.xxx.xxx.impl.ResultActionImpl.result(ResultActionImpl.java:43)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.seasar.teeda.core.el.impl.MethodBindingImpl.invoke(MethodBindingImpl.jav
a:70)
org.seasar.jsf.util.InvokeUtil.invokeInternal(InvokeUtil.java:
92)
org.seasar.jsf.util.InvokeUtil.invoke(InvokeUtil.java:72)
org.seasar.jsf.application.ActionListenerImpl.processAction(ActionListenerIm
pl.java:65)
javax.faces.component.UICommand.broadcast(UICommand.java:149)
org.seasar.teeda.extension.component.html.THtmlCommandButton.broadcast(THtml
CommandButton.java:50)
org.seasar.jsf.component.S2UIViewRoot.broadcastForPhase(S2UIViewRoot.java:11
9)
org.seasar.jsf.component.S2UIViewRoot.processApplication(S2UIViewRoot.java:9
0)
org.seasar.jsf.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:
177)
org.seasar.jsf.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:108)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:87)
org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2Container
Filter.java:79)
org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsF
ilter.java:122)
因みに実行環境は、
JDK6
Eclipse3.4
Oracle10g Express Edition (XE)
Tomcat5.5.27
S2Container:2.4.33
S2tiger:2.4.33
S2JSF:1.1
です。
以上、よろしくお願い致します。
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20090115/245e8695/attachment.html>
Seasar-user メーリングリストの案内