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

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

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

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

在项目的下面添加一个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();
        }

    }
}

时间: 2024-10-27 11:15:21

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

JavaEE使用三层架构(显示层、业务逻辑层、数据访问层)实现数据的增删改查

实例: 1.功能描述 实现一个简易新闻发布系统,包括查看.添加.修改和删除新闻等基本功能 2.具体要求 (1) 创建数据库 newssystem,创建表 news,要求如下: (2) 程序运行时,显示'发布新闻'页面(如图 1),输入相关内容,单击'提交'按钮,将新闻内容添加到数据库 (3) 单击图 1 中的'查看'按钮,显示'查看新闻'页面(如图 2),增加'修改'和'删除'链接 (4) 单击图 2 中的'update'链接,显示'修改新闻'页面(如图 3),修改后单击'修改'按钮确认,单击'

系统架构师-基础到企业应用架构-数据访问层

一.上章回顾 上篇我们简单讲述了服务层架构模式中的几种,并且讲解了服务层的作用及相关的设计规范,其实我们应该知道,在业务逻辑层中使用领域模型中使用服务层才 能发挥出最大的优势,如果说我们在业务逻辑层还是使用非领域模型的模式话,服务层的作用仅体现在解耦作用.其实在业务逻辑层采用领域模型时,我们前面说的持 久化透明的技术,其实我们可以通过服务层来做,我们在服务层中处理领域对象信息的持久化操作.当然本篇可能不会深入讨论持久化透明的具体实现,后面会单独开 篇来讲述,我们先来回顾下上篇讲解的内容:  上图

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

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

随机获得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

【2017-04-20】Ado.Net与面向对象结合架构中的数据访问层(实体类,数据访问类)

开发项目三层架构:界面层.业务逻辑层.数据访问层 今天学习一下数据访问层,分为实体类和数据访问类 所有的类放在App_Code这个文件夹下边.养成一个好的习惯. 一.实体类 数据库中的表映射为一个类,类名与表名一致.表中的每一列,都为该类下的成员变量和属性也就是最简单的封装 把数据库中的表名变为类的类名. 把数据库中的每一个列,变为实体类中的成员变量和属性 列名与属性名一致.成员变量名:在列名前边加上下划线.因为在外部访问只能访问到属性,为了看起来一致. using System; using

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

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

使用Ninject+Moq在单元测试中抽象数据访问层

一.测试方法的业务逻辑时,通常都需要从数据库读取测试数据,但是每次初始化数据库数据都很麻烦,也会影响到其它业务对数据的访问,怎样抽象数据访问层呢?就是用Moq去模拟数据访问的逻辑 二.步骤如下 2.1 定义数据访问接口和实现 public interface IDBAccess { List<string> GetList(string request); } public class DBAccessImp : IDBAccess { public List<string> Ge

项目架构开发:数据访问层之Query

接上文 项目架构开发:数据访问层之Repository 上一章我们讲了IRepository接口,这张我们来讲IQuery 根据字面意思就可以知道,这次主要讲数据查询,上一章我们只针对单表做了查询的操作,多表联查并没有实现 其实对于任何一个项目来说,多表联查都是比较麻烦的地方,因为项目的“读”操作,特别是多表的“读”,至少占据所有“读”的一半以上 然而至今,据我所知还没有哪一款ORM工具可以灵活处理多表联查:想要不写sql语句,又想性能高,还想用强类型的ling查询方法:这对于多表查询来说比较难

Hibernate(1)——数据访问层的架构模式&lt;转&gt;

数据库的概念.逻辑.数据模型概念 应用程序的分层体系结构发展 MVC设计模式与四层结构的对应关系 持久层的设计目标 数据映射器架构模式 JDBC的缺点 Hibernate简介 迅速使用Hibernate开发的例子 Hibernate的核心类和接口,以及他们的关系 POJO和JavaBean的比较 之前的一篇总结文章: 数据库精华知识点总结(1)—数据库的三层模式和二级映像,E-R(实体联系图)图,关系模型 简单来说,就是在软件开发领域,可以用模型表示真实世界的实体.针对数据库就分为: 概念模型(