DaoProvider工程
AbstractDaoService.cs
using System;
using System.Collections.Generic;
using System.Text;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using IBatisNet.DataMapper;
namespace DaoProvider
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{
public abstract class AbstractDaoService
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
protected SqlMapper GetMapper()
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
return Mapper.Instance();
}
}
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
ContentDaoService.cs
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using IBatisNet.DataMapper;
namespace DaoProvider
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{
public class ContentDaoService : AbstractDaoService
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
public void Insert(ContentObject p_dataObject)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
Mapper.Instance().Insert("ContentObject_DefaultInsert", p_dataObject);
}
public ContentObject Query(int p_intId)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
return null;
}
public IList Query()
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
return Mapper.Instance().QueryForList("Content_DefaultSelect", null) as IList;
}
}
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
ContentObject.cs
using System;
using System.Collections.Generic;
using System.Text;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
namespace DaoProvider
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{
public class ContentObject
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
private int m_intId;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int ID
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
get
{ return m_intId; }
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
set
{ m_intId = value; }
}
private string m_strTitle;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public string Title
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
get
{ return m_strTitle; }
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
set
{ m_strTitle = value; }
}
private string m_strContentText;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public string ContentText
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
get
{ return m_strContentText; }
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
set
{ m_strContentText = value; }
}
private string m_strCreator;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public string Creator
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
get
{ return m_strCreator; }
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
set
{ m_strCreator = value; }
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
ContentMapper.xml
<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="Account" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<alias>
<typeAlias alias="ContentObject" type="DaoProvider.ContentObject,DaoProvider"/>
</alias>
<resultMaps>
<resultMap id="ContentObject_DefaultResult" class="ContentObject">
<result column="ID" property="ID" type="int" dbType="Int"/>
<result column="Title" property="Title" type="string" dbType="Varchar"/>
<result column="ContentText" property="ContentText" type="string" dbType="Varchar"/>
<result column="Creator" property="Creator" type="string" dbType="Varchar"/>
</resultMap>
</resultMaps>
<statements>
<insert id="ContentObject_DefaultInsert" parameterClass="ContentObject">
INSERT INTO Content(Title,ContentText,Creator) VALUES(#Title#,#ContentText#,#Creator#)
<selectKey property="ID" resultClass="int" type="post">
SELECT @@IDENTITY AS value
</selectKey>
</insert>
<select id="Content_DefaultSelect" listClass="ArrayList" resultMap="ContentObject_DefaultResult" >
SELECT ID, Title, ContentText, Creator FROM Content
</select>
</statements>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<parameterMaps>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<parameterMap id="ContentObject_DefaultParameter" class="ContentObject" >
<parameter column="Title" property="Title" type="string" dbType="Varchar" direction="Input"/>
<parameter column="ContentText" property="ContentText" type="string" dbType="Varchar" direction="Input"/>
<parameter column="Creator" property="Creator" type="string" dbType="Varchar" direction="Input"/>
</parameterMap>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</parameterMaps>
</sqlMap>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SqlMap.config
<?xml version="1.0" encoding="utf-8"?>
<sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<!-- Rem : If used via a DataAccess context, properties tag will be ignored -->
<!--<properties resource="http://www.cnblogs.com/database.config"/>-->
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<settings>
<!--<setting useStatementNamespaces="${useStatementNamespaces}"/>-->
<setting cacheModelsEnabled="true"/>
<setting validateSqlMap="false"/>
</settings>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<providers resource="providers.config"/>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<database>
<!-- Optional ( default ) -->
<provider name="sqlServer2.0"/>
<dataSource name="iBatisNet" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"/>
</database>
<!--<typeHandlers>
<typeHandler type="bool" dbType="Varchar" callback="OuiNonBool"/>
</typeHandlers>-->
<alias>
<typeAlias alias="ArrayList" type="System.Collections.ArrayList,mscorlib"/>
</alias>
<sqlMaps>
<!-- <sqlMap url="E:/Projet/iBatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/${directory}/MSSQL/SqlClient/Account.xml"/> -->
<sqlMap resource="Mappers/ContentMapper.xml"/>
<!--<sqlMap resource="Mappers/Employees.xml"/>-->
<!-- Rem : If used as embbeded Resources, use
<sqlMap embedded="Maps.MSSQL.SqlClient.Account.xml, IBatisNet.DataMapper.Test"/>-->
</sqlMaps>
</sqlMapConfig>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
源代码:
IBatisDemo
IBatisNet.DataMapper
http://www.cnblogs.com/adam/archive/2008/01/07/1028775.html