关于面对对象过程中的三大架构以及数据访问层(实体类数据操作类)
Posted 朱利军
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于面对对象过程中的三大架构以及数据访问层(实体类数据操作类)相关的知识,希望对你有一定的参考价值。
面向对象开发项目三层架构:
界面层、业务逻辑层、数据访问层
数据访问层,分为实体类和数据访问类
在项目的下面添加一个App_Code文件夹把所有的类放在App_Code这个文件夹下边。
一、实体类
数据库中的表映射为一个类,类名与表名一致。表中的每一列,都为该类下的成员变量和属性也就是最简单的封装
把数据库中的表名变为类的类名。
把数据库中的每一个列,变为实体类中的成员变量和属性(也就是对每个数据库中的字段封装)
列名与属性名一致。成员变量名:在列名前边加上下划线。因为在外部访问只能访问到属性,为了看起来一致。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1.App_Code
{
public class Users
{
private int _Ids;
public int Ids
{
get { return _Ids; }
set { _Ids = value; }
}
private string _UserName;
public string UserName
{
get { return _UserName; }
set { _UserName = value; }
}
private string _PassWord;
public string PassWord
{
get { return _PassWord; }
set { _PassWord = value; }
}
private string _NickName;
public string NickName
{
get { return _NickName; }
set { _NickName = value; }
}
private bool _Sex;
public bool Sex
{
get { return _Sex; }
set { _Sex = value; }
}
private DateTime _Birthday;
public DateTime Birthday
{
get { return _Birthday; }
set { _Birthday = value; }
}
private string _Nation;
public string Nation
{
get { return _Nation; }
set { _Nation = value; }
}
}
}
二、数据访问类
将某个表的数据库操作写成一个方法,放到该类中,共外部调用。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace ConsoleApplication2.App_Code
{
public class UsersData
{
SqlConnection conn = null;
SqlCommand cmd = null;
public UsersData()
{
conn = new SqlConnection("server=.;database=Data0216;user=sa;pwd=123");
cmd = conn.CreateCommand();
}
public List<Users> SelectAll()
{
List<Users> list = new List<Users>();
cmd.CommandText = "select *from Users";
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
Users u = new Users();
u.Ids = Convert.ToInt32(dr["ids"]);
u.UserName = dr["UserName"].ToString();
u.PassWord = dr["PassWord"].ToString();
u.NickName = dr["NickName"].ToString();
u.Sex = Convert.ToBoolean(dr["Sex"]);
u.Birthday = Convert.ToDateTime(dr["Birthday"]);
u.Nation = dr["Nation"].ToString();
list.Add(u);
}
conn.Close();
return list;
}
public void Insert(Users u)
{
cmd.CommandText = "insert into Users values(@username,@password,@nickname,@sex,@birthday,@nation)";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@username", u.UserName);
cmd.Parameters.AddWithValue("@password", u.PassWord);
cmd.Parameters.AddWithValue("@nickname", u.NickName);
cmd.Parameters.AddWithValue("@sex", u.Sex);
cmd.Parameters.AddWithValue("@birthday", u.Birthday);
cmd.Parameters.AddWithValue("@nation", u.Nation);
conn.Open();
int a= cmd.ExecuteNonQuery();
if (a > 0) Console.WriteLine("添加数据成功");
else Console.WriteLine("添加数据失败");
conn.Close();
}
}
}
以上是关于关于面对对象过程中的三大架构以及数据访问层(实体类数据操作类)的主要内容,如果未能解决你的问题,请参考以下文章