应用IBatisNet+Castle进行项目的开发

来源:互联网 发布:淘宝卖家首页怎么登陆 编辑:程序博客网 时间:2024/05/16 19:47
       最近在做一个项目,项目的需求不够明确,这是做项目的大忌,但是没有办法。项目的架构采用Dotnet平台使用C#进行开发,为了加快项目的开发进度,采用代码生成工具之MyGeneration 生成业务基本代码,数据持久层采用IBatisNet,事务处理采用Castle的事务处理代码块,整体采用Castle IOC容器进行组装。
       IBatisNet的SQL语句放在XML文件中,SQL语句同代码的分离,带来的好处很多,修改数据库的结构,只需要使用代码生成器生成XML文件和数据库表对应的业务实体,直接使用生成的业务实体代码替换原来的业务实体文件和XML文件,DAO和BLL的代码都不需要修改,降低了修改数据库结构的风险。
      数据层主要的工作就是写sql代码,独立出来区别对待确实很有好处,对最简单的sql语句,ibatisnet 也可以帮我们生成,可以说是伸缩有度!,复杂的SQL主要是查询,统计这样的功能,这样的功能实现采用一个接口:
   /// <summary>
  /// 通用的以DataTable的方式得到Select的结果(xml文件中参数要使用$标记的占位参数)
  /// </summary>
  /// <param name="tag">语句ID</param>
  /// <param name="paramObject">语句所需要的参数</param>
  /// <returns>得到的DataTable</returns>
  DataTable GetDataTable(string tag, object paramObject) ;

  /// <summary>
  /// 通用得到参数化后的SQL(xml文件中参数要使用$标记的占位参数)
  /// </summary>
  /// <param name="tag">语句ID</param>
  /// <param name="paramObject">语句所需要的参数</param>
  /// <returns>获得的SQL</returns>
  string GetSql(string tag, object paramObject);

功能实现采用IBatisNet的DataAccess组件,可以得到执行的SQL语句。复杂的查询总是有很多的条件,要构造这样的条件本来就是麻烦事,通过IBatisNet一切都变得很简单。
 通过DataTable,IList,自定义实体的结合,在开发中提供最灵活的数据传递对象。
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 天猫购物津贴领多了怎么办 车贷逾期车被开走还不清全款怎么办 孩子特别懒不爱动又胖怎么办 微信的聊天记录被限制了怎么办 门面租金交了一年对方不租了怎么办 离职后社保怎么办 无忧保专业可靠 淘宝店铺被投诉到监管局怎么办 淘宝买家每天都来店铺骚扰怎么办 电脑安装软件时解压出现问题怎么办 公婆不尊重你的父母做媳妇的怎么办 手机扣扣接收不上文件怎么办 买了商铺付了首付商铺倒闭了怎么办 宝宝刚满月不喜欢在床上睡怎么办 别人给我打了收货款不发货怎么办 业务员私收货款公司不发货怎么办 付款后商家没发货也不退钱怎么办 苹果7P修过主板耗电严重怎么办 oppo手机进水了开不了机怎么办 手机弯了变形但不影响使用怎么办 拼多多留错电话怎么办如果已经发货 苹果6手机后壳变形了怎么办 京东退货保修卡丢了怎么办 如果京东买的显示器屏碎了怎么办 在微信上买东西退货不退钱怎么办 手机分期付款不还款被起诉了怎么办 朋友用我的花呗分期不还钱怎么办 朋友用我身份证办分期不还钱怎么办 我手机号被别人绑定信用卡了怎么办 5s用不了4g网络怎么办 红米手机返回键没了怎么办 小米手机进水了开不了机怎么办 手机返回键和菜单键失灵怎么办 苹果5s指纹按键坏了怎么办 小米手机安卓系统耗电量大怎么办? 苹果5s充不进去电怎么办 苹果手机6s返回键失灵怎么办 本人被骗同时被利用骗了别人怎么办 京东取消订单后货到了该怎么办 京东电信日租卡流量顶置了怎么办 苹果6s进水后闪光灯不亮怎么办 华为手机情景义停车事项过期怎么办