下载主页:

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  是简单对象

转载于:https://www.cnblogs.com/finehappy/archive/2009/09/03/1559770.html

iBATIS.NET相关推荐

  1. iBatis的CRUD操作详细总结

    昨天晚上看了一下关于iBatis的一个讲解的视频,讲的和我的这个简单的总结差不多.... 思考了一下还是把主要操作都总结一下吧,当然这里也不是全的,知识简单的CRUD... 首先我觉得持久层的操作主要 ...

  2. IBatis.Net学习笔记九--动态选择Dao的设计分析

    在IBatis.Net中可以通过配置文件动态选择数据库.动态选择Dao对象. Dao对象也就是操作数据库的类,通过配置文件我们可以选择DataMapper的方式.Ado的方式.NHibernet的方式 ...

  3. 【转】ibatis的简介与初步搭建应用

    [转]ibatis的简介与初步搭建应用 一.ibatis的简介 ibatis是什么东西就不介绍了,自己去找谷老师. 这里讲下自己的使用体会.之前自己学过Hibernate,是看尚学堂的视频教学的,看完 ...

  4. iBatis自动生成的主键 (Oracle,MS Sql Server,MySQL)【转】

    iBatis的sqlMap配置文件的selectKey元素有个type属性,可以指定pre或者post表示前生成(pre)还是后生成(post). Oracle设置 Xml代码   <!-- O ...

  5. DNN和IBatis.Net几乎同时发布新版本

    DotNetNuke发布了最新的版本4.5.0,确实让人期待了很久,据说这个版本在性能上有很大的提升. IBatis.NET几乎在同一时间也发布了新版本DataMapper 1.6.1,也有不少的改进 ...

  6. Hibernate和iBATIS 优缺点比较

    选择Hibernate还是iBATIS都有它的道理: Hibernate的特点: Hibernate功能强大,数据库无关性好,O/R映射能力强,如果你对Hibernate相当精通,而且对Hiberna ...

  7. nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping

    今天mybatis报了个错误 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type ...

  8. ibatis的there is no statement named xxx in this SqlMap

    报错情况如下: com.ibatis.sqlmap.client.SqlMapException: There is no statement named Control.insert-control ...

  9. ibatis源码浅析- 初探

    ibatis核心类 SqlMapExecutor:定义了数据库curd操作api SqlMapTransactionManager : 主要定义了事务管理功能 SqlMapClient:继承SqlMa ...

  10. Ibatis调用Oracle存储过程,以及返回Cursor结果集的问题

    最近开始接触Oracle了,接触的越多越感受到自己的渺小!(oracle10g ,Ibatis) 昨天需要通过数据库查询一组数据,数据中包含一个表中的一条数据.2个String类型的字符串,想通过Or ...

最新文章

  1. 人字拖藏SIM卡、戴微型蓝牙耳机!为考教师岗,多人作弊被抓
  2. 自定义控件:下拉刷新
  3. openwrt l7过滤qos配置
  4. 产品优化成果过关?监控数据说了算
  5. eclipse opengl java_eclipse openGL glut运行环境配置
  6. 1. Spring boot 之热部署
  7. qt+visa实现程控实例
  8. JWT 实现微服务鉴权
  9. oracle awr报告生成_5.性能测试 - Oracle体系结构和性能优化简介
  10. Matlab中imadjust函数的用法
  11. HDU2084 数塔【DP】
  12. 在阿里云上安装MongoDB,并且远程连接
  13. TinyWeb--C++构建高性能Web服务器
  14. afx_msg void OnHScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar )的参数和作用分析
  15. idea中的万能快捷键(alt + enter)
  16. iphone android 功能清单,iPhone的这几个App,让你的工作效率翻倍(1)
  17. 团队管理,领导的“无为”就是最大“有为”
  18. 2018看得见的未来:超融合六大趋势
  19. Flashback archive
  20. java 重写equals方法的种种“坑”

热门文章

  1. oracle对substr去重,oracle使用笔记
  2. C++中 引用与取地址的区别
  3. 阅读分析下列html,阅读下列说明和 HTML 文本,分析其中嵌入的 JavaScript. 脚本..._考试资料网...
  4. 1024 科学计数法 (20 分)(c语言)
  5. Mysql(7)——auto_increment简介
  6. 华为鸿蒙os什么运行内存多大,华为公布鸿蒙OS 2.0硬件安装要求:只要128K内存就能跑...
  7. 解决 iOS 12.4 Killed: 9 的问题
  8. 关于go语言中的JWT(JSON WEB TONKE)ECHO
  9. Linux学习-漫游根目录和/usr目录
  10. python博弈论代码_使用 40 多行的 Python 代码实现一个简单的演化过程