摘要:
上篇文章解答了使用IBatis.Net获取存储过程的返回值,其中我写了一个注意必须要将paramMap的class设置为hashtable,只说了注意,没有说明具体原因,所以心里老是有个疙瘩!
于是,再看了一下DataMapper的源代码,分析如下:
当你调用
mapper.Insert("GetAccountViaSP2", testid);
就会调用MappedStatement的ExecuteInsert方法
public virtual object ExecuteInsert(IDalSession session, object parameterObject )
其中parameterObject就是你传入的参数
接着调用MappedStatement的RetrieveOutputParameters方法设置返回的参数
RetrieveOutputParameters(request, session, command, parameterObject);
RetrieveOutputPar 阅读全文
摘要:
最近有人问我怎么获取存储过程的output的参数值,由于我最近没有用Ibatis.net,所以就从文档中找到的param的xml,也就没有在意,但后来有人说调不通,今天早上又收到一份留言,所以我早上作了测试!也出现获取不到数据的问题,但最后还是解决了!我的测试环境是 sqlserver2005/vs2005/ibatis.net2.0
如下:
procedure:
create proc sp_output
(
@testParam int output
)
as
begin
set @testParam = 10
end
go
阅读全文
摘要:
public void InsertPerson3()
{
SqlMapper sqlmap = IBatisNet.DataMapper.Mapper.Instance();
Hashtable ht = new Hashtable();
ht.Add("FirstName","姚");
ht.Add("LastName","明2");
sqlmap.Insert("InsertPerson3",ht);
}
注意:Hashtable中的键值名称和参数集合众的property相对应,并且区分大小写. 阅读全文
摘要:
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);
}
阅读全文
摘要:
DomSqlMapBuilder
DomSqlMapBuilder,其作用是根据配置文件创建SqlMap实例。可以通过这个组件从Stream, Uri, FileInfo, or XmlDocument instance 来读取sqlMap.config文件。
SqlMap
SqlMap是IBatisnet的核心组件,提供数据库操作的基础平台。SqlMap可通过DomSqlMapBuilder创建。
Assembly assembly = Assembly.Load("IBatisNetDemo");
Stream stream = assembly.GetManifestResourceStream("IBatisNetDemo.sqlmap.config");
DomSqlMapBuilder builder = new DomSqlMapBuilder();
sqlMap = builder.Confi 阅读全文
摘要:
结合上面示例中的IbatisNet配置文件,下面对配置文件中各节点的说明:
--
阅读全文
摘要:
IBatisNet 实例配置
一个典型的配置文件如下(具体配置项目的含义见后):
--
阅读全文
摘要:
xsi:noNamespaceSchemaLocation="SqlMapConfig.xsd"
阅读全文