IBatisNet 是一个 ORM 映射框架,着重于 ORM 中的 M(Mapping),提供了较为灵活数据访问和面向对象特性。
对于增删查该在配置文件中的位置如下所示:
<sqlMap>
<statements>
<insert></insert>
<select></select>
<update></update>
<delete></delete>
</statements>
</sqlMap>
下面将一一用代码和配置文件方式介绍,以表Item(ItemId,ItemName,InsertDate)为例
1.添加记录
A:代码调用
Hashtable Param = new Hashtable();
Param.Add("ItemId", 2);
Param.Add("ItemName", “Test”);
Param.Add("InsertDate", System.DateTime.Now);
IBatisNet.DataMapper.Mapper.Instance().Insert("InsertItem", Param);
B:配置文件
<insert id="InsertItem" parameterClass="Hashtable">
INSERT INTO Item
(ItemId,ItemName,InsertDate)
VALUES(#ItemId#,#ItemName#,#InsertDate:DateTime:1/1/0001 12:00:00 AM#)
</insert>
2.删除
A:代码:
IBatisNet.DataMapper.Mapper.Instance().Delete(string statementName, object parameterObject);
B:配置文件
<delete id="DeleteItem" parameterClass="string">
DELETE FROM Item
WHERE ItemID = #value#
</delete>
3.更新:
A:代码
IBatisNet.DataMapper.Mapper.Instance().Update(string statementName, object parameterObject);
B:配置文件
<update id="UpdateItem" parameterClass="HashTable“>
UPDATE Item
SET ItemName=#ItemName#
WHERE ItemID = #ItemId#
</update>
4.查询:
A:代码
Mapper.Instance().QueryForObject(string statementName, object parameterObject);
B:配置文件
<select id="SelectItem" parameterClass="hashtable" resultClass="Item">
SELECT
ItemID
,ItemName
FROM
Item
WHERE
ItemID= #ItemID#
</select>
其中resultClass是与模型对应的类
5.使用存储过程
A:代码
Mapper.Instance().QueryForObject(string statementName, object parameterObject);
B:配置文件
<statement id="sp_UpdateItem" parameterClass="Hashtable">
exec sp_UpdateItem
@ItemID=#ItemID#,@startDate=#startDate#,@endDate=#endDate#
</statement>