一个用三层架构实现数据访问的例子

看了2天的三层架构,其实自己以前也看过这个,可以由于没有使用过,所以对于三层架构也只是知道罢了,昨天看了一下他一些内部的具体架构,三层分别是BLL、WEB、DAL,在web接受用户请求,bll处理业务,dal处理数据库事务,下面是一个简单的例子!这是一个添加新员工的页面:

后台代码如下:

usingSystem.Collections;

usingSystem.Web;

usingSystem.Web.Security;

usingSystem.Web.UI;

usingSystem.Web.UI.WebControls;

usingSystem.Web.UI.WebControls.WebParts;

usingSystem.Web.UI.HtmlControls;

usingSystem.Text;

usingMaticsoft.Common;

usingLTP.Accounts.Bus;

usingSystem;

namespaceMaticsoft.Web.Employees

{

publicpartialclassMYAdd:Page

{

protectedvoidPage_Load(objectsender,EventArgse)

{

}

protectedvoidButtonOK_Click(objectsender,EventArgse)

{

stringERRM ="";

if(!PageValidate.IsNumber(Temployeeid.Text.Trim()))

{

ERRM +="输入的id不是数字,不合法!";

}

if(this.Temployeeid.Text.Trim().Length ==0)

{

ERRM +="用户id不能为空!";

}

if(ERRM !="")

{

MessageBox.Show(this, ERRM);

ERRM ="";

return;

}           intEmployeeID =int.Parse(this.Temployeeid.Text);           /

stringEmployeesName =this.Temployeename.Text;

Maticsoft.Model.Employeesmodel =newModel.Employees();                 //新建一个在dal层Employees的model对象,用于对数据库Employees表的数据处理

model.EmployeeID = EmployeeID;                                                                 //将text里面用户输入的id数据传给model

model.EmployeesName = EmployeesName;                                                    //将text里面用户输入的name数据传给model

Maticsoft.BLL.Employeesbll =newBLL.Employees();                             //新建一个在bll层的employees对象,用于调用dal层的model对象

bll.Add(model);                                                                                                   //在bll层调用add方法添加一条数据

//////////////////////////////////////   bll层的add 方法    ///////////////////////////////////////////////////////////////////////////

/// 增加一条数据

publicboolAdd(Maticsoft.Model.Employeesmodel)

{

returndal.Add(model);                                          //调用dal层的add方法添加一条数据

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////  dal层的 add 方法    ///////////////////////////////////////////////////////////////////////////

///增加一数据

publicboolAdd(Maticsoft.Model.Employeesmodel)

{

StringBuilderstrSql=newStringBuilder();

strSql.Append("insert into Employees(");

strSql.Append("EmployeeID,EmployeesName)");

strSql.Append(" values (");

strSql.Append("@EmployeeID,@EmployeesName)");

SqlParameter[] parameters = {

newSqlParameter("@EmployeeID",SqlDbType.Int,4),

newSqlParameter("@EmployeesName",SqlDbType.VarChar,90)};

parameters[0].Value = model.EmployeeID;

parameters[1].Value = model.EmployeesName;

introws=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);

if(rows >0)

{

returntrue;

}

else

{

returnfalse;

}

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Maticsoft.Common.MessageBox.ShowAndRedirect(this,"保存成功|!","MYAdd.aspx");                     //成功创建后弹出对话框,并跳转到当前页面!

}

protectedvoidButtonNo_Click(objectsender,EventArgse)

{

Response.Redirect("list.aspx");

}

}

}

时间: 2024-12-14 18:11:04

一个用三层架构实现数据访问的例子的相关文章

企业级应用框架(二)三层架构之数据访问层的封装与抽象

接上一篇我们来对数据访问层进行封装与抽象.在上一篇我们知道,要解除BLL对DAL的依赖,我们就必须抽象出DAL层的接口,同时基于DAL的数据访问技术很多,如EF,ADO.NET,LINQ TO SQL,因此,我们的数据访问层必须对这些技术提供相应的支持.所以今天我们要做的事情有两件,第一,定义我们的数据访问层接口:第二,屏蔽各类数据库访问技术的差异,提供统一的数据库访问模型.举个例子,我们只需要修改一下我们的配置文件,就能够把ADO.NET的实现方式,改变成EF的实现方式.好下面搭建我们的三层构

企业级应用框架(三)三层架构之数据访问层的改进以及测试DOM的发布

在上一篇我们在宏观概要上对DAL层进行了封装与抽象.我们的目的主要有两个:第一,解除BLL层对DAL层的依赖,这一点我们通过定义接口做到了:第二,使我们的DAL层能够支持一切数据访问技术,如Ado.net,EF,linq To Sql,这一点我们实现的不是很完美,仍有很大的改进空间,本文将加以改进. 在此之前我们来看一下我们最新的dom(PS:经过两天的赶工,我们的dom已经相对成熟,其中BLL层已经被我高度抽象化了,并且引进了业务上文文的概念:DAL层除了具体的技术实现尚为完成,其他方面已经相

关于面对对象过程中的三大架构以及数据访问层(实体类、数据操作类)

面向对象开发项目三层架构: 界面层.业务逻辑层.数据访问层 数据访问层,分为实体类和数据访问类 在项目的下面添加一个App_Code文件夹把所有的类放在App_Code这个文件夹下边. 一.实体类 数据库中的表映射为一个类,类名与表名一致.表中的每一列,都为该类下的成员变量和属性也就是最简单的封装 把数据库中的表名变为类的类名. 把数据库中的每一个列,变为实体类中的成员变量和属性(也就是对每个数据库中的字段封装) 列名与属性名一致.成员变量名:在列名前边加上下划线.因为在外部访问只能访问到属性,

三层架构实践入门(1)

三层架构最初目的是不把数据库操作语句放到界面里,虽然可以写个公共类操作数据库,但是SQL语句还是免不了.这样做小项目没有什么问题,但是项目做大了就会难以维护.三层架构把数据访问.业务逻辑.界面分离,方便大项目维护. 为了减少难度,这里举个简单的三层架构雏形:只用DAL(Data Access Layer)层,把数据访问封装到DAL层中,UI调用DAL,原则:UI不能出现SQL. 比如我们有个表: 第0列 第一列 第二列 第三列 Id Name Age Hobby 1 泰迪熊 18 勾搭妹子 2

三层架构(转载)

A.三层架构: 数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添.删除.修改.查找等.所以D层的类对应的就是表. 业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理. 表示层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得. 实体层(Entity):就是数据库所有表的.每个表都是一个类,表的字段就是属性.实体层为传递各种数据的容器,相当于一个载体.(下面不作过多介绍) B.三层结构原理: 3个层次中,系统主要功能和业

C#基础--三层架构与接口--纯概念,无代码示例

三层架构 一般命名规范: 三层架构: 数据访问层(DAL):一般只编写基本的增.删.查.改方法,不能出现业务逻辑.作用:解析对象---组合SQL:封装对象上传. 业务逻辑层(BLL):一般只编写业务逻辑代码,根据用户的需求决定如何调用数据访问层的方法,不能出现任何SQL语句及数据访问代码,只能调用DAL中的方法,不能调用其他任何层的方法.作用:处理业务逻辑:传递数据. 用户界面层(UI):一般只编写用户操作信息.数据验证.数据展示代码:只能调用BLL中的方法,不能调用DAL中的方法.作用:封装对

常用的三层架构设计

软件系统最常用的一般会讲到三层架构,其实就是将整个业务应用划分为表示层.业务逻辑层.数据访问层等,有的还要细一些,通过分解业务细节,将不同的功能代码分散开来,更利于系统的设计和开发,同时为可能的变更提供了更小的单元,十分有利于系统的维护和扩展.常用的三层架构设计是什么样的呢?e良师益友网那个为你揭晓. 常见的三层架构基本包括如下几个部分,如图14-1所示. 图14-1 常见的三层架构 l 数据访问层DAL:用于实现与数据库的交互和访问,从数据库获取数据或保存数据到数据库的部分. 2 业务逻辑层B

两天完成一个小型工程报价系统(三层架构)

花了两天,整理了一下三层架构,顺便练了一个小型三层架构——工程报价系统. 功能很简单,完成基本的增删改查 搭建项目三层结构 界面的设计以及美化 分层代码的设计与实现 模型层:由于表设计时存在主外键关系,故把表映射成对象时添加一个外键对象来保存外键那张表的相关数据. // 外键实体 private Product _product; private Project _project; public Project _Project { get { return _project; } set {

随机获得MySQL数据库中100条数据方法 驾照题库项目 MVC架构 biz业务层的实现类 根据考试类型rand或order通过dao数据访问层接口得到数据库中100或全部数据

package com.swift.jztk.biz; import java.util.Collections; import java.util.Comparator; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Random; import com.google.gson.Gson; import com.swift.jztk.bean.Result