2013-10-18 80 views
0

我有以下iBatis的語句:調用存儲過程使用iBATIS

<select id="validateLogin" parameterType="Account" statementType="CALLABLE"> 
    { CALL PROC_LOGIN 
     (
      #{account_name, jdbcType=VARCHAR, mode=IN}, 
      #{password, jdbcType=VARCHAR, mode=IN}, 
      #{fname, jdbcType=VARCHAR, mode=OUT}, 
      #{lname, jdbcType=VARCHAR, mode=OUT}, 
      #{account_name, jdbcType=VARCHAR, mode=OUT}, 
      #{status, jdbcType=INTEGER, mode=OUT}, 
      #{loginStatus, jdbcType=VARCHAR, mode=OUT} 
     ) 
    } 
</select> 

但是我越來越,Attribute "parameterType" must be declared for element type "select"Attribute "statementType" must be declared for element type "select"

我是新來的iBatis,我沒有太多的期待在互聯網上尋找如何解決這個問題。

+0

怎樣使用parameterMap? –

回答

0

嘗試使用「procedure」和「parameterMap」標籤調用它。示例(more information here):

<procedure id="getEmpInfo" resultClass="Employee" parameterMap="getEmpInfoCall"> 
    { call getEmp(#acctID#) } 
</procedure> 
<parameterMap id="getEmpInfoCall" class="map"> 
    <parameter property="acctID" jdbcType="INT" javaType="java.lang.Integer" mode="IN"/> 
</parameterMap> 
+0

謝謝,完美的工作 – Raitei

+0

,但它顯示我以下錯誤>>> com.ibatis.common.xml.NodeletException:解析XML時出錯。原因:java.lang.RuntimeException:解析XPath'/ sqlMapConfig/sqlMap'時出錯。原因:com.ibatis.common.xml.NodeletException:解析XML時出錯。原因:java.lang.RuntimeException:解析XPath'/ sqlMap/procedure'時出錯。原因:com.ibatis.sqlmap.client.SqlMapException:在此SqlMap中沒有名爲Employee.getEmpInfoCall的參數映射。 –