2017-08-02 13 views
0

私の質問が混乱している場合は、私が質問をするのは初めてです。それをもっと明確にするためにできることがあれば、ただ私に教えて、私が求めている方法を改善することができます。webservice netbeansからデータベースを確認する

現在、私はデータベースからデータをチェックできるnetbeansからWebサービスを作ろうとしています。私は初心者ですので、私は http://programmerguru.com/webservice-tutorial/how-to-create-java-webservice-in-netbeans/からチュートリアルに従ってWebサービスを作っています。

しかし、mybattisを使用して通常の方法でデータベースをチェックしようとすると、java.lang.nulpointerexceptionが保持されます。私はそれをデバッグしようとすると、それは私を与える「変数情報が利用できない、-gオプションなしでコンパイルされたソース」と、ここInvocationTargetException.java

public InvocationTargetException(Throwable target) { 
    super((Throwable)null); // Disallow initCause 
    this.target = target; 
} 

私を投げるウェブサービス

のコードですここ
/* 
* To change this license header, choose License Headers in Project     
Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package com.bismillah.berkah; 

import com.bismillah.berkah.dao.DummyDao; 
import com.bismillah.berkah.daoImpl.DummyDaoImpl; 
import java.lang.reflect.InvocationTargetException; 
import java.util.HashMap; 
import java.util.Map; 
import javax.jws.WebService; 
import javax.jws.WebMethod; 
import javax.jws.WebParam; 

/** 
* 
* @author Ari 
*/ 
@WebService(serviceName = "Check4Update") 
public class Check4Update { 
    public DummyDaoImpl ddi; 

    /** 
    * This is a sample web service operation 
    * 
    * @param InTerminalNumber 
    * @return 
    */ 
@WebMethod(operationName = "CheckUpdate") 
public String hello(@WebParam(name = "InTerminalNumber") String InTerminalNumber) { 

    String OutError = ""; 
    String OutMessage = ""; 
    if (InTerminalNumber == null) { 
     return "InTerminalNumber can't be null"; 
    } else { 

     Map mapdao = new HashMap<String, Object>(); 
     Map map = new HashMap<String, Object>(); 

     map.put("InTerminalNumber", InTerminalNumber); 
     mapdao = ddi.check4UpdatePatch(map); 

     OutError = (String) mapdao.get("OutError"); 
     OutMessage = (String) mapdao.get("OutMessage"); 
     return "Error : " + OutError + ", with message : " + OutMessage; 

    } 

} 

public void setDdi(DummyDaoImpl ddi) { 
    this.ddi = ddi; 
} 


} 

とは

package com.bismillah.berkah.daoImpl; 

import com.bismillah.berkah.Check4Update; 
import com.bismillah.berkah.config.MyBatisConnectionFactory; 
import com.bismillah.berkah.dao.*; 
import java.util.Map; 
import org.apache.ibatis.session.SqlSession; 
import org.apache.ibatis.session.SqlSessionFactory; 

/** 
* 
* @author Ari 
*/ 
public class DummyDaoImpl 
{ 

private SqlSessionFactory sqlSessionFactory; 

public DummyDaoImpl() 
{ 
    sqlSessionFactory = MyBatisConnectionFactory.getSqlSessionFactory(); 
} 

public Map check4UpdatePatch(Map map) 
{ 

    Check4Update c4u = new Check4Update(); 
    c4u.setDdi(this); 
    SqlSession session = sqlSessionFactory.openSession(); 
    try 
    { 
     session.selectOne("dummy.check4UpdatePatch", map); 

    } catch (Exception ex) 
    { 
     ex.toString(); 
    } finally 
    { 
     session.close(); 
    } 
    return map; 

} 

} 

IMPLコードmybattisであるあなたはそれを修正する方法を教えてください。だから私はデータを得ることができますか?私の質問混乱の原因は、これは私が質問をする初めてである場合の方法で、私は常に正確

mapdao = ddi.check4UpdatePatch(map); 

再び申し訳ありませんここで、私のウェブサービスで投げます。それをもっと明確にするためにできることがあれば、ただ私に教えて、私が求めている方法を改善することができます。

答えて

0

申し訳ありませんが、問題が既に見つかりました。mybatisで設定が間違っています。
MyBatisConnectionFactoryの文字列リソースは変更されていません。また、xmlファイルの文字列リソースも変更されています。

私はいつもjava lang nulを取得しています。

実際にこの問題を解決しようとすると、インターフェイスクラスも作成されますが、問題が見つかるまではまだ動作しません。誰かが私のような問題を抱えている場合は、インターフェイスを追加することで問題を修正できるので、インプルがインターフェイスをオーバーライドします。

関連する問題