利用Dapper ORM搭建三层架构

利用Dapper关系对象映射器写的简单的三层架构。

Dapper:StackOverFlow在使用的一个微型的ORM,框架整体效率较高,轻量级的ORM框架。网上有较多的扩展。此处只是简单的调用Dapper中的方法。

UI层:

Dapper.Console:一个简单的控制台程序。

BLL业务逻辑层:

Dapper.IBLL:业务逻辑层的抽象接口。

Dapper.BLL:业务逻辑层的具体实现。(会根据配置文件的不同调用不同的DAL层)

DAL数据访问层:

Dapper.IDAL:数据访问层的抽象接口。利于程序的扩展。

Dapper.SQLServerDAL:不同数据库的实现层,派生自IDAL接口。(可能还有OracleDAL、MySQLDAL等等)

实体类:

Dapper.Model:数据库实体类

解耦:

Dapper.Factory:工厂。通过工厂来创建对应的实例。DALFactory创建具体的DAL,ConnectionFactory创建供Dapper使用的IDBConnection实例。

单元测试:

Dapper.Test:进行数据库的单元测试。单元测试项目中无法直接读取Dapper.Console下的App.config。复制过来即可。

需要Mock测试的,可以参考使用MS Fakes、Moq等测试框架。

代码上不做具体展开了,需要的可以参考。

https://github.com/maoqyhz/3-Tier-Architecture-using-dapper

由于自己的毕设也是用它来写的,所以放出来,可以作为一个实例来参考一下。

sql server2012 + dapper + asp.net mvc4 + easyUI的药库管理系统,有兴趣的可以star一下哦~

利用Dapper关系对象映射器写的简单的三层架构。

Dapper:StackOverFlow在使用的一个微型的ORM,框架整体效率较高,轻量级的ORM框架。网上有较多的扩展。此处只是简单的调用Dapper中的方法。

UI层:

Dapper.Console:一个简单的控制台程序。

BLL业务逻辑层:

Dapper.IBLL:业务逻辑层的抽象接口。

Dapper.BLL:业务逻辑层的具体实现。(会根据配置文件的不同调用不同的DAL层)

DAL数据访问层:

Dapper.IDAL:数据访问层的抽象接口。利于程序的扩展。

Dapper.SQLServerDAL:不同数据库的实现层,派生自IDAL接口。(可能还有OracleDAL、MySQLDAL等等)

实体类:

Dapper.Model:数据库实体类

解耦:

Dapper.Factory:工厂。通过工厂来创建对应的实例。DALFactory创建具体的DAL,ConnectionFactory创建供Dapper使用的IDBConnection实例。

单元测试:

Dapper.Test:进行数据库的单元测试。单元测试项目中无法直接读取Dapper.Console下的App.config。复制过来即可。

需要Mock测试的,可以参考使用MS Fakes、Moq等测试框架。

代码上不做具体展开了,需要的可以参考。

https://github.com/maoqyhz/3-Tier-Architecture-using-dapper

由于自己的毕设也是用它来写的,所以放出来,可以作为一个实例来参考一下。

sql server2012 + dapper + asp.net mvc4 + easyUI的药库管理系统,有兴趣的可以star一下哦~


相关内容

  • 高级JAVA工程师需要掌握哪些技术
  • 我把它分为了五大专题 工程化专题 工程化专题 git git安装使用 git日常使用:fetch/pull/push/revert/rebase git分支管理git flow Jenkins多套环境(test/pre/production)系统自动化发布 Jenkins自动发布到远程主机 Mave ...

  • 云计算和大数据基础知识
  • * 1: 100. 云计算 (一)大数据(BigData) 1. 定义: 海量数据或巨量数据,其规模巨大到无法用当前主流的计算机系统在合理时间内获取.存储.管理.处理并提取以帮助使用者决策. 2. 特点: 1)数据量大 (Volume ) ----- PB 级以上 2)快速 (Velocity ) ...

  • SOA主体技术架构
  • SOA 架构设计探讨 随着信息化技术不断发展,技术应用的不断增长.不断创新,信息系统开发建设也需要走专业化.多样性的建设之路,来帮助政府.企业解决信息化面临的难题,提升政府.企业服务整合能力.对我们软件开发公司也从原来的单个项目快速开发.快速构建能力,逐步过度到系统与系统间的能力整合,最终过渡到软件 ...

  • java三大框架框架与新技术
  • java 三大框架框架与新技术 1.谈谈你对Struts 的理解. 答: 1. struts是一个按MVC 模式设计的Web 层框架,其实它就是一个大大的servlet ,这个Servlet 名为ActionServlet ,或是ActionServlet 的子类.我们可以在web.xml 文件中将 ...

  • 某银行信贷系统_系统架构设计文档
  • ****银行 消费信贷系统 规划及实施管理项目 软件架构概要设计说明书 文档审批信息 目 录 修订历史................................................................................................... ...

  • 矿环保计量中心"ORM"管理情况汇报
  • 自矿召开"精细管理深化年"启动大会后,我们环保计量中心立足实际,务求实效,在巩固完善已创工作运行机制的基础上,以全面实施"orm"管理为着力点,进一步提升境界,拓展深化,全力构建"orm"管理工作的长效运行机制,促进了全科各项工作健康有序开 ...

  • 名词解释答案
  • 1.ESB是什么? ESB全称是Enterprise Service Bus,即企业服务总线,它是传统中间件技术与XML,Web服务中最基本的链接中枢. 2.Web container? 实现J2EE体系结构中Web组件协议的容器.这个协议规定了一个Web组件运行时的环境. 3.EJB容器? 4.J ...

  • Spring2.5.Struts2.Ibatis开发框架搭建 技术 网街
  • 一.框架下载 1.1   Struts2框架 Struts2框架发展于WebWork,现在捐献给了Apache开源组织,最新版本的Struts2框架可以从位于Apache官方网站的Struts2项目中获取,Struts2框架的项目主页地址为:http://struts.apache.org/ ,下载 ...

  • Java实现鼠标拖放功能的方法
  • 培养目标:具备高端.多方位.精英级水平的Java软件开发人才.课程内容:Java编程语言的特性;JVM/JRE/JDK的概念和区别;JDK开发环境的安装;面向对象的概念及编程;类和对象.字段/属性.方法.构造器的声明和使用;运算符.表达式.分支语句.常规循环语句和增强型for循环;java语言包的管 ...