http://ASP.NET MVC5 +SQLSERVER2014搭建多层架构的数据库管理系统

背景:前段时间,给一家公司做外包(就是图标是朵菊花那家)。为了尽快实现交付,网上四处寻找适合中小型企业框架。花了几天无果,只在github上找了个(貌似作者还要收费),把前端半改造,后端彻底改造(最终版本全部没有使用github的代码)。现在,把这段时间的成果最初版本贡献出来。若是有类似需求的同学,尽可拿去用,不清楚的可以留言。

本人认为:除非是定制的软件和定价了的软件可以收费外,开源的都应该免费,鼓励攻城狮们不断开拓创新,再上面添砖加瓦,促进行业发展和社会进步。

需求:一个基本框架,填充内容实现快速开发,增删改查都用同一套代码

准备:

开发工具:VS2015+SQLSERVER2008(最低)

必要组件:

http://ASP.NET MVC5

StructureMap:实现IOC

IBatisNet:访问数据库

log4net:日志库

项目结构:

一步一步来:

1. 新建解决方案创建相关项目

2. 配置

2.1 封装StructureMap

在Core项目中,初始化StructureMap组件,初始化要用红框中的配置文件。注意:这里路径是网站的根目录的相对路径。有好几种配置方式,这是项目中实际使用的一种

Business.config 文件在哪儿?在主程序的config里面。注意:这些配置文件的属性,都要改为 始终复制。否则不会生成到网站的目录下。

配置文件的内容是什么?是接口和实现类的对应关系

2.2 封装IBatisNet

在Dao层,封装IBatisNet的方法供外部调用。Dao中的接口和实现类如何配置?参考2.1节

2.3 初始化StructureMap

在这里,调用StructureMap初始化方法

2.4 如何使用

在项目中合适的地方,照下图获取对应的接口实例

2.5 配置IBatisNet

注意这个图:这个是配置IBatisNet数据库驱动的

图中1:就是上图name=XX的驱动;图2是数据库连接;再下面的xml文件,就是用来存放具体SQL的地方

图1的部分:就是对应的数据库表;图2这些返回结果,或者参数需要用到这个类;图3就是具体的SQL。这里面的语法是单独的章节,以后有时间补上

2.6 配置日志组件

在这里重新创建个数据库,专门用来放日志。注意看里面的commandText。就是插入日志表的SQL。后面的节点照着写就对了,主要是控制输出的格式之类的,不解释

运行起来就是这个样子(此图可能与原作者的主界面相似,若是侵犯你的权益,请联系本人)

至此,本项目已经放到github。叫wisex.是指聪慧的,好用的,但现在还没达到这个水平,就算是心目中的一个期许吧。这个项目还在不断commit,希望有共同兴趣的朋友一起完善它吧
Wisex后台系统框架

前段时间,应客户需要开始做爬虫。这其中遇到不少坑。接下来,我会把这些从实战中总结出的知识点,贡献出来,还希望和高手有更多的交流

用ASP.NET MVC5 +SQLSERVER2014搭建多层架构的数据库管理系统的更多相关文章

  1. 关于ASP.NET或VS2005 搭建三层架构的理解

    最近想学习ASP.NET建网站,关于ASP.NET或VS2005 搭建三层架构的理解,网上摘录了一些资料,对于第(2)点的讲解让我理解印象深刻,如下: (1)为何使用N层架构? 因为每一层都可以在仅仅 ...

  2. ASP.NET MVC5基础 – MVC文件架构

    创建MVC项目 首先,我们使用Visual Studio2019创建一个MVC架构的应用程序.步骤如下:首先打开VS2019,在启动页选择[创建新项目].然后选择创建 ASP.NET Web 应用程序 ...

  3. ASP.NET MVC5+EF6搭建三层实例

    一.创建项目解决方案 1.model层.BLL层.Dal层.Common层,都是类库 2.UI层使用MVC5 二.使用EF链接数据库 1.创建实体数据模型 2.选择来自数据库EF设计器 3.创建数据库 ...

  4. ASP.net MVC5 Code First填充测试数据到数据库

    问题的产生  最近在看Adam Freeman的“Pro ASP.NET MVC5”,于是在工作机上面搭建了相应的运行环境,但是在自己的机器上面只有代码,没有数据库.记得在code first中可以新 ...

  5. asp.net MVC 5 Scaffolding多层架构代码生成向导开源项目(邀请你的参与)

    Visual Studio.net 2013 asp.net MVC 5 Scaffolding代码生成向导开源项目 提高开发效率,规范代码编写,最好的方式就是使用简单的设计模式(MVC , Repo ...

  6. MVC 5 Scaffolding多层架构代码生成向导开源项目

    asp.net MVC 5 Scaffolding多层架构代码生成向导开源项目(邀请你的参与)   Visual Studio.net 2013 asp.net MVC 5 Scaffolding代码 ...

  7. ASP.NET MVC5基础-控制器(Controller)详解

    在上文ASP.NET MVC5基础 – MVC文件架构中我们简单了解了下控制器Controller的作用,本文我将详细介绍控制器Controller的使用方法. Controller的运行过程 上文我 ...

  8. ASP.NET MVC5 网站开发实践(二) Member区域 - 文章管理架构

    上次把member的用户部分完成,现在开始做文章管理部分.文章部分根据涉及显示现实文章列表,发布文章,修改文章,删除文章等功能.最终的实现目标是使用权限来控制用户是否能进行相应操作,管理员权限的会显示 ...

  9. ASP.NET MVC5 网站开发实践(二) Member区域 - 咨询管理的架构

    咨询.留言.投诉等功能是网站应具备的基本功能,可以加强管理员与用户的交流,在上次完成文章部分后,这次开始做Member区域的咨询功能(留言.投诉都是咨询).咨询跟文章非常相似,而且内容更少.更简单. ...

随机推荐

  1. 适用于 macOS 下 2K 显示器开启 HiDPI 的简便解决方案

    前阵子入手了一款2k的显示器用于mbp的拓展屏幕,但由于苹果系统的严格限制,只有在4K及以上显示器上才能开启自带的HiDPI进行缩放以达到retina显示屏的效果.2k显示器下的字体会偏小发虚,使用1 ...

  2. java-接口(新手)

    //创建的一个包名. package jiekou; //接口方法. //创建一个接口并且起名字. public interface JK { //抽象的返回值.(具体功能未定义,需要自己定义) ab ...

  3. JavaScript----DOM和事件的简单学习

    ##DOM简单学习 *  功能:控制html文档的内容 *  代码:获取页面标签(元素)对象:Element *  document.getElementById("id值"):通 ...

  4. git push错误,如何回滚

    --> git push Counting objects: 81, done.Delta compression using up to 4 threads.Compressing objec ...

  5. [math] Codeforces 597A Divisibility

    题目:http://codeforces.com/problemset/problem/597/A Divisibility time limit per test 1 second memory l ...

  6. CF codeforces A. New Year Garland【Educational Codeforces Round 79 (Rated for Div. 2)】

    A. New Year Garland time limit per test 1 second memory limit per test 256 megabytes input standard ...

  7. 如何将一篇文章导入Endnote并将引用插入Word

    Endnote作为一款专注管理文献引用的工具用起来还是很方便的,极大地简化了管理引用格式等相关工作,让我们能够把更多精力用在写文章本身. 今天就介绍一下如何将一篇我们看到的觉得有参考价值的文章导入wo ...

  8. [LeetCode] 936. Stamping The Sequence 戳印序列

    You want to form a `target` string of lowercase letters. At the beginning, your sequence is target.l ...

  9. BP神经网络及异或实现

    BP神经网络是最简单的神经网络模型了,三层能够模拟非线性函数效果. 难点: 如何确定初始化参数? 如何确定隐含层节点数量? 迭代多少次?如何更快收敛? 如何获得全局最优解? ''' neural ne ...

  10. Binder驱动理解

    1.Binder的三层架构 2.BC.BR的理解 通信模型 Binder协议包含在IPC数据中,分为两类: BINDER_COMMAND_PROTOCOL:binder请求码,以"BC_&q ...