IBatisNet系列-执行存储过程

映射xml文件书写如下

<?xml version="1.0" encoding="utf-8" ?>

<sqlMap namespace="Member" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="SqlMap.xsd">
    
<resultMaps>
        
<resultMap id="SelectResult" class="PlatAdmin.Model.Member">
            
<result property="Id" column="id" />
            
<result property="Identityno" column="identityno" />
            
<result property="Telephone" column="telephone" />
            
<result property="Email" column="email" />
            
<result property="Linktel" column="linktel" />
            
<result property="Address" column="address" />
            
<result property="Content" column="content" />
            
<result property="Username" column="username" />
            
<result property="Password" column="password" />
            
<result property="Truename" column="truename" />
            
<result property="Enable" column="enable" />
            
<result property="Regdate" column="regdate" />
        
</resultMap>
    
</resultMaps>
        
    
<parameterMaps>
        
<parameterMap id="swapParas" class="PlatAdmin.Model.Member">
            
<parameter property="querystr" column="" />
            
<parameter property="keyfield" column="" />
            
<parameter property="pagesize" column="" />
            
<parameter property="pagenumber" column="" />
        
</parameterMap>
    
</parameterMaps>
    
    
<statements>
        
<procedure id="GetMemberList" parameterMap="swapParas" resultMap="SelectResult">
            usp_GetRecordset
        
</procedure>

        
    
</statements>
</sqlMap>

 程序代码如下:

public IList GetMemberList(string querystr,int pageNo)
        
{
            Hashtable ht 
= new Hashtable();
            ht.Add(
"querystr",querystr);
            ht.Add(
"keyfield","id");
            ht.Add(
"pagesize",2);
            ht.Add(
"pagenumber",pageNo);

            SqlMapper sqlMap 
= IBatisNet.DataMapper.Mapper.Instance();

            
try
            
{
                
return sqlMap.QueryForList("GetMemberList",ht);
            }

            
catch(Exception e)
            
{
                
throw new IBatisNetException(e.Message,e);
            }

        }
posted @ 2006-03-25 15:24 福娃 阅读(3406) 评论(11) 编辑 收藏

 回复 引用   
#1楼 2006-09-26 14:58 | microsystem[未注册用户]
如果只需要返回一个值是否可以简单点?
 回复 引用 查看   
#2楼[楼主] 2006-09-26 15:12 | 福娃      
下面是不是你想要的?
<select id="selectProductCount" resultClass="System.Int32">
select count(1)
from PRODUCT
</select>
 回复 引用   
#3楼 2006-10-26 21:57 | microsystem[未注册用户]
同意楼上的,要存储过程返回一个值是否可以

<procedure id="GetMemberList" parameterMap="swapParas" resultMap="int">
usp_GetRecordset
</procedure>
 回复 引用 查看   
#4楼[楼主] 2006-10-27 08:20 | 福娃      
在参数设置的时候,有direction="Input|Output|InputOutput
<parameterMap id="insert-product-param" class="Product">
<parameter property="description" direction=“Output” />
<parameter property="id"/>
</parameterMap>

这是我在他的文档上看到的,我还没有测试!
你可以试试看!
 回复 引用   
#5楼 2006-10-27 11:35 | microsystem[未注册用户]
这个也看到了,测试中...
 回复 引用   
#6楼 2006-10-30 12:24 | microsystem[未注册用户]
试验了好久!怎么也取不到!
你那里怎么样啊?
 回复 引用 查看   
#7楼[楼主] 2006-11-04 09:09 | 福娃      
我已经测试通过了,你们看看
http://www.cnblogs.com/maplye/archive/2006/11/04/549773.html