使用三层架构实现简单的MVC登陆操作!并实现基本的增删改查功能!!
2015-03-19 13:56
1176 查看
一丶使用三层架构创建一个简单的MVC登录操作
1.首先,创建一个项目以及BLL层、DAL层、Entity层,如图一:
图一
2.创建一个数据库如图二:
图二
3基本工作已做好,接下来就编BLL层、DAL层、Entity层。
3.1先编Entity。Entity实体层(不属于三层架构的任意一层)定义一个类,主要用来保存以及传递数据库的信息。比如以图而的数据库为列,实体层代码如下:
<pre name="code" class="csharp">using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations; namespace Entity { public class UserInfo { public int ID { get; set; } [Required(ErrorMessage="用户名不能为空")] public string UserName { get; set; } [Required(ErrorMessage = "密码不能为空")] public string UserPWD { get; set; } } }
这样就定义了一个实体层(定义的字段和数据库里的一样)。
3.2 DAL层。DAL只提供基本的数据访问,在其内定义增删改查!比如登录(查)代码如下:
using Entity; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DAL { public class UserService { //获取用户信息 public UserInfo GetUser(string userName) { string sql ="select * from userinfo where UserName=@username "; SqlParameter[] param = new SqlParameter[]{ new SqlParameter("@username",userName), }; // 执行 UserInfo user =new UserInfo (); using (SqlDataReader sdr = SqlHelper.ExecuteReader(CommandType.Text, sql, param)) { while(sdr.Read()) { user.UserName = sdr["UserName"].ToString(); user.UserPWD = sdr["UserPwd"].ToString(); } return user; } } } }
首先得引入Entity,其次,需要注意的是必须把UserService这个类定义为public类型的否者BLL层访问不到。代码就不一一解读了,多是一些很基础的语句。注:1.SqlHelper是一个已经封装好的类,专门执行sql语句。这里也可以自己写sql执行语句。2.须在web.config 里配置链接字符串。
3.3BLL层:
<pre name="code" class="csharp">using DAL; using Entity; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BLL { public class UserManager { public bool Login(string userName, string userPWD) { // 业务逻辑层 调用 数据访问层 UserService service = new UserService(); UserInfo user = service.GetUser(userName); if (user == null || user.UserPWD != userPWD) { return false; } else { return true; } } } }
首先还是得引入Entity和DAL。。。负责处理业务逻辑。通过获取UI传来的用户指令,执行业务逻辑,在需要访问数据源的时候,直接交个DAL进行处理。处理完成后,返回必要数据给UI。其实BLL层很简单,
4.设计简单的登陆页面
<pre name="code" class="html"><body> <div> <%=Html.ValidationMessage("action") %> <form action="<%=Url.Content("~/Home/DoLogin") %>" method="post"> <table> <tr> <td>用户名</td> <td> <input name="username" /> </td> <td><%=Html.ValidationMessage("UserName") %></td> </tr> <tr> <td>用户密码</td> <td> <input name="userpwd" type="password" /> </td> <td><%=Html.ValidationMessage("UserPwd") %></td> </tr> <tr> <td colspan="2"> <input type="submit" value="登陆" /> </td> </tr> </table> </form> </div> </body>
5.输入账号密码,点击提交按钮,将值交到控制器的DoLogin:
public ActionResult DoLogin(string username,string userpwd) { // model 验证失败 if (!ModelState.IsValid) { return View(); } else { if (new UserManager().Login(username, userpwd)) { return Content("<script>alert('登入成功!!!');location.href='index';</script>"); } else { ModelState.AddModelError("action", "用户名或密码错误!!!"); return View(); } }
6.运行结果:
二丶实现增删改查
其实学会了登录功能后其他增删改查功能都是差不多的。只不过就是换了个sql语句,换汤不换药。我就不一一介绍了。相关文章推荐
- 使用三层架构实现简单的MVC登陆操作
- SSH框架搭建(附带,框架写的标准的三层架构小程序,实现简单的登陆校验,增删改查功能)
- [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:实现基本的CRUD功能
- 使用JAVA的开源API-JExcelAPI来操作Excel,实现基本的功能
- MVC中使用EF(2):实现基本的CRUD功能
- MVC中使用EF(2):实现基本的CRUD功能
- mvc+EF实现简单的登陆功能
- 【MVC】使用Servlet 作为控制器实现一个简单的登陆验证
- 使用EF6和MVC5实现一个简单的选课系统--使用EF6实现基本的GRUD功能(2/12)
- [02] 使用 MVC 5 的 EF6 Code First 入门 系列:实现基本的CRUD功能
- ASP.NET使用Cookie简单实现记住登陆状态功能
- 使用EF框架实现MVC的增删改查功能!!!Entity Framework
- 使用myeclipse与sqlyog实现简单的增删查修功能中常见的错误
- JFinal框架简单使用及增删查改分页功能实现
- Python学习笔记_05:使用Flask+MySQL实现用户登陆注册以及增删查改操作
- Eclipse使用(七)—— 使用Eclipse创建JavaWeb项目并使用JDBC连接数据库实现简单的登陆注册功能
- 简单的考生管理系统,java以XML为数据库,jaxp操作XML实现简单的增删查功能
- 使用文件操作函数实现简单的CP、cat、size功能及读取文件内容初始化结构体
- 使用springMvc+easyui+mysql实现简单的增删改查
- ASP.NET使用Cookie简单实现记住登陆状态功能