找了好久,網上也沒示例,全是java的,沒辦法,後來看到一個網上别人寫的例子。
http://www.myfirm.cn/blog/article/Control/13.html
上面照套還是出錯,我X,沒找到類的屬性,那麼靈機一動,應該是個結果集,就List了,給類加個屬性
搞定。
public class Product
{
public int ProductId { get; set; }
public string ProductName { get; set; }
public List<Product> result { get; set; }
}
}
xml配置
<resultMaps>
<!-- 映射可以用在下面的語句設定中 -->
<resultMap id="GetAllProductsResult" class="Product">
<result property="ProductId" type="int" column="ProductId" dbType="number" />
<result property="ProductName" type="string" column="ProductName" dbType="varchar" />
</resultMap>
</resultMaps>
<parameterMaps>
<!--注意:parameterMap中的參數個數和順序要和ProcGetPersonByName存儲過程中的一緻-->
<parameterMap id="ParamSelect" class="Product">
<parameter property="ProductName" coloumn="VPRODUCTNAME"/>
<!--設定傳回的資料,資料庫類型為Cursor-->
<parameter property="result" column="P_CUR" dbType="Cursor" direction="Output"/>
</parameterMap>
</parameterMaps>
<statements>
<procedure id="ProcGetProductbyName" parameterMap="ParamSelect" resultMap="GetAllProductsResult">
ProcGetProductbyName
</procedure>
Oracle過程
CREATE OR REPLACE PROCEDURE PROCGETPRODUCTBYNAME(VPRODUCTNAME IN VARCHAR,
P_CUR OUT SYS_REFCURSOR) AS
BEGIN
OPEN P_CUR FOR
SELECT * FROM PRODUCT T WHERE T.PRODUCTNAME LIKE VPRODUCTNAME || \'%\';
END;
搞定。
