下载主页:

http://ibatis.apache.org/dotnet.cgi?Preferred=http%3A%2F%2Fapache.etoak.com

Demo是从网上搜的,有一个数据库文件附加到SQL Server中来,其中有一个Person表,表中有主键,字符型,浮点型和日期型的字段,下面通过这个代码来入门IBatis.Net (看他并不是要用他,我不会去使用IBatis.Net )

IBatis.Net的版本很久没有个更新过了。

配置文件

1.在Web.Config文件中加入配置信息,用于配置操作日志,日志会保存在程序的根目录的Txt文件中。(具体内容参考代码)

2.配置文件 ,Demo中的sqlmap.config文件

3.PO 简单对象,Domain中的只有属性的类

4.映射文件,Map文件夹下面的XML配置文件,用来配置SQL语句的。

下面的说明复制于“善友”的博客

……

<update id=" UpdatePerson" ⑴

parameterClass="Person"> ⑵

<![CDATA[⑶

update Person set ⑷

PER_FIRST_NAME =#FirstName#,⑸

PER_LAST_NAME =#LastName#, ⑹

PER_BIRTH_DATE =#BirthDate#,

PER_WEIGHT_KG=#WeightInKilograms#,

PER_HEIGHT_M=#HeightInMeters#

where

PER_ID = #Id# ⑺]]>

</update>

……

⑴ ID指定了操作ID,之后我们可以在代码中通过指定操作id 来执行此节点所定义的操作,如:SqlMap.Update("UpdatePerson", person);ID设定使得在一个配置文件中定义两个同名节点成为可能(两个update节点,_____以不同id区分)

⑵ parameterClass指定了操作所需的参数类型,此例中update 操作以IBatisNetDemo.Domain.Person类型的对象作为参数,目标是将提供的Person实例更新到数据库。parameterClass="Person"中,Person为“IBatisNetDemo.Domain.Person”类的别名,别名可通过typeAlias节点指定,如示例配置文件中的:<typeAlias alias="Person" type="IBatisNetDemo.Domain.Person,IBatisNetDemo" />

⑶ <![CDATA[……]]>通过<![CDATA[……]]>节点,可以避免SQL 中与XML 规范相冲突的字符对XML映射文件的合法性造成影响。

⑷ 执行更新操作的SQL,这里的SQL 即实际数据库支持的SQL 语句,将由IBatisNet填入参数后交给数据库执行。

⑸ SQL中所需的用户名参数,“# FirstName #”在运行期会由传入的Person对象的FirstName属性填充。

⑹ SQL 中所需的用户性别参数“# LastName #”,将在运行期由传入的Person对象的LastName属性填充。

⑺ SQL中所需的条件参数“#id#”,将在运行期由传入的Person对象的Person属性填充。

使用方法:

private static SqlMapper sqlMap;
public BaseService()
        {
            Assembly assembly = Assembly.Load("IBatisNetDemo");
            Stream stream = assembly.GetManifestResourceStream("IBatisNetDemo.sqlmap.config");

            DomSqlMapBuilder builder = new DomSqlMapBuilder();
            sqlMap = builder.Configure(stream);

        }
public IList<Person> GetAllPerson()
        {
            IList<Person> list = null;
            list = SqlMap.QueryForList<Person>("SelectAllPerson", null);
            return list;
        }

SqlMapper是IbatisNet运作的核心,所有的操作均通过SqlMapper实例完成。

 

配置节点说明参照: http://www.cnblogs.com/shanyou/articles/388598.html

 

Dao 是容器
Map 是定义
PO  是简单对象

posted on 2009-09-03 17:49  冯瑞涛  阅读(945)  评论(0编辑  收藏  举报