iBATIS.NET
2009-09-03 17:49 闫妍 阅读(277) 评论(0) 编辑 收藏 举报下载主页:
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 是简单对象