IBatisNet之获取和操作SQL语句

IBatisNet和其他的ORMapping的工具相比较,可以说是一个sqlmap,所以在Why use iBATIS SQL Maps? 中有一条理由是
You already know SQL, why waste time learning something else?
所以在我们的实际框架中更多的地方需要得到SQL语句。在我的架构中有这样的接口:
复杂的SQL主要是查询,统计这样的功能接口:  
   DataTable GetDataTable(string tag, object paramObject) ; 
   string GetSql(string tag, object paramObject);

这样我们对于复杂的查询,统计等就可以使用DataTable来映射查询结果,这里介绍一下string GetSql(string tag, object paramObject)的实现。
代码如下:

获得的SQL


statement用于insert,Select,Update用于检查标识符,然后根据paramObject和tag组合成SQL.。获取到了SQL,执行SQL和ADO.NET是一样的。IBatisNet只是包装了ADO.NET,使用的ADO.NET的接口方式实现代码,也就是基于接口编程。工作中总是发现很多的同事说不喜欢使用接口,说什么使用类就可以为什么要用接口呢。其实在工作中很多还是以结构化的思想在编写向对象的代码,类只是显得有点面向对象。这里只是发一下牢骚,不针对任何人。实现DataTable GetDataTable(string tag, object paramObject)接口的代码就不写了,我想大家也知道怎么写了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IBatisNet.DataMapper 1.6.1.0之简单三层 首先介绍Solution的架构,一共分四个项目: Web :前台应用; BLL :业务处理层,如果嫌麻烦,可以再进一步抽象出来,然后将代码放置Web层的aspx.cs里面; Model :这个就不多说了,地球人都知道(数据实体类) SqlMaps:资源类,把配置文件和sql mapper文件全部打包起来。 二个文件夹: Include :iBatis.Net架构的dll文件 Log :放置log文件的文件夹,在web.config里配置 1.在一些特定的环境下,一站式的解决方案未必有效 系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几条Select SQL(或存储过程)以获取所需数据,具体的表结构不予公开。 开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现。(银行大多有这样的限制) 系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。 2.iBATIS之于小型、简单系统:非常适用 iBATIS自己就很小并且简单 iBATIS不会对现存应用的设计或者数据库结构强加任何影响 iBATIS非常适合于有成长趋势的系统 3.iBATIS之于大型、企业级系统:为之而设计 iBATIS的某些特性使得它能够高效地处理大型数据集 iBATIS允许你用多种方式建立从对象到数据库的映射关系 MySpace已应用 4.使用于任何类型的关系数据库: 应用数据库 企业数据库 私有数据库 遗留数据库 简单性 性能 明确分工 可移植性:Java、.Net或者其他 开源 5.何时不该使用iBATIS 当你能永远拥有完全控制权 当你的应用需要完全动态的SQL 当你并没有使用关系数据库时 当iBATIS不起作用时
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值