zoukankan      html  css  js  c++  java
  • 关于面对对象过程中的三大架构以及数据访问层(实体类、数据操作类)

    面向对象开发项目三层架构:

    界面层、业务逻辑层、数据访问层

    数据访问层,分为实体类和数据访问类

    在项目的下面添加一个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();
            }
    
    
    
        }
    }
    复制代码
  • 相关阅读:
    《转》2013年那些深入人心的小故事
    sklearn学习2-----LogisticsRegression
    sklearn学习汇总
    sklearn学习1----sklearn.SVM.SVC
    树(5)-----判断两颗树一样或者一棵树是否是另外一颗的子树
    树(4)-----树的高度
    面试题1-----SVM和LR的异同
    算法19-----(位运算)找出数组中出现只出现一次的数
    树(3)-----栈(迭代)
    python中的全局变量、局部变量、实例变量
  • 原文地址:https://www.cnblogs.com/zhulijun/p/6758174.html
Copyright © 2011-2022 走看看