1. 程式人生 > >MVC中三層規範寫法示例

MVC中三層規範寫法示例

經常會在web專案中用到MVC模式的寫法

C:控制層Controller,負責對請求的url分發到不同的網址,處理請求的入口。
M:規範資料資料成Bean,並負責呼叫資料庫
V:只負責從資料庫獲取資料,並顯示。

此三層的設計充分得將資料顯示與資料操作很好的分離開了,是一種極佳的面向物件的設計思路。下面把常見的MVC模式的規範寫法總結如下:

model:

public class Question {
    private int id;
    private String title;
    private String content;
    private Date createDate;
    private
int userId; private int commentCount; }

dao:執行SQL語句

@Mapper
public interface QuestionDao {
    String TABLE_NAME =" question ";
    String INSERT_FIELDS=" title,content,user_id,create_date,comment_count ";
    String SELECT_FIELDS =" id, "+INSERT_FIELDS;

    //使用mapper寫法
    @Insert({"insert into "
+TABLE_NAME+" ( " +INSERT_FIELDS +" ) "+ "values( #{title} , #{content} , #{userId} , #{createDate}, #{commentCount} )"}) int addQuestion(Question question); List<Question> selectLatestQuestions(@Param("userId") int userId, @Param("offset") int
offset, @Param("limit") int limit); }

service:直接呼叫dao層即可

@Service
public class QuestionService {

    @Autowired
    QuestionDao questionDao;

    public List<Question> getLatestQuestion(int userId,int offset,int limit){
        return questionDao.selectLatestQuestions(userId,offset,limit);
    }
}

controller:請求的處理,這裡需要呼叫service獲取資料並且顯示到html中,

@Controller
public class HomeController {
    //日誌
    private static final Logger logger= LoggerFactory.getLogger(HomeController.class);

    //引入Service層
    @Autowired
    UserService userService;
    @Autowired
    QuestionService questionService;

    //第一個主頁
    @RequestMapping("/home")
    public String home(Model model){

        List<Question> qlist= questionService.getLatestQuestion(0,0,10);

        //直接用vo的陣列;本身VO類是一個map
        ArrayList<ViewOfObject> vos =new ArrayList<>();
        for (Question question:qlist){
            ViewOfObject vo=new ViewOfObject();
            //在這裡question是由questionService獲取list然後遍歷得到;
            //而對應的question的user由question.getUerID得到
            //得到userId之後根據UserService中的getUser可以得到user
            vo.set("question",question);
            vo.set("user",userService.getUser(question.getUserId()));
            vos.add(vo);
        }
        model.addAttribute("vos",vos);
        return "home";
    }
}

相關推薦

MVC規範寫法示例

經常會在web專案中用到MVC模式的寫法 C:控制層Controller,負責對請求的url分發到不同的網址,處理請求的入口。 M:規範資料資料成Bean,並負責呼叫資料庫 V:只負責從資料庫獲取資料,並顯示。 此三層的設計充分得將資料顯示與資料操作很好

簡單區分軟體開發幾個概念:C/S結構和B/S結構、結構和兩結構、MVC架構

C/S——客戶端/服務端,簡單講就是客戶端電腦上需要安裝專有的軟體來更伺服器交流,就像QQ。主要通過訊息的機制傳遞(當然也可以自己寫協議,遊戲就是這樣做的。) B/S——瀏覽器/服務端,你只要有瀏覽器就可以與伺服器進行通訊,不用再安裝專門的客戶端,通訊協議使用HTTP協議.

.NET MVC架構

增刪改查 ews 數據的操作 求反 註意 image http pla 業務 雖然接觸了兩者有一段時間了,但是有時還是會混淆概念,在此處不打算說明二者的區別,因為二者都是架構模式,並且也有一定的共存度,在實際開發中,嚴格區分意義不大。基於最近涉及到這部分知識就在復習下,編程

MVC架構

html 創建 購物 傻瓜式 用戶名 djang 自己的 data 即使 三層架構和MVC 三層架構 (3-tier application) 是將整個業務應用劃分為:表現層(UI)、業務邏輯層(BLL)、數據訪問層(DAL)。區分層次的目的即為了“高內聚,低耦合”的思想。

MVC架構的個人理解

mod bll 得到 www 中間 物理 交互 .cn fonts 一直以為MVC就是三層,最近通過.net的學習才知道,三層架構是指表示層(UI),業務邏輯層(BLL)和數據訪問層(DAL) ,UI負責與用戶的交互,DAL負責訪問數據(其實是操作model,model對應

淺談MVC架構

級別 ace isp 數據訪問 velocity 映射 領域 mark gmv   mvc: model(模型),view(視圖),controller(控制器)   三層架構:展現層(User Interface layer)、業務邏輯層(Business Logic

asp.net mvc架構 完美搭配

第二章 幫助 summary 本地數據庫 asp 存在 remoting new org http://www.hysql.org/aspnet/20180630/5712.html 先來一張項目的層級結構圖: Model:模型層,主要是各種類型、枚舉以及ORM框

Asp.Net MVC+EF+架構 簡單搭建 (1) Asp.Net MVC+EF+架構

首先,謝謝各位過客觀看,今天我們說下簡單的 Asp.Net MVC+EF+三層架構 搭建( 第一部分)。 很簡單,先看下完成之後程式碼圖:   這裡講的是一個整體框架的搭建,所以頁面暫時Pass,先以一個小的查詢為例。   一、新建Model、Dal、Bl

MVC架構的理解與使用

MVC與三層架構之間的關係相信很多朋友都沒有清晰其具體組成下面來談談個人的理解,或許能幫到大家更清晰的認識這倆種思想,其實之所以有這樣的思想產生,目的只有一個,專案的可持續發展。 基本概念理解: MVC: 其實一早MVC只是針對於後端開發或者前後端一體來說的: Model(模型):通

javaweb:常用的web設計模式(Model1,Model2,javaweb架構和mvc)和結構案例展示

Jsp模式介紹: SUN公司推出JSP技術後,同時也推薦了兩種web應用程式的開發模式,一種是JSP+JavaBean模式,一種是Servlet+JSP+JavaBean模式。 JSP+JavaBean模式適合開發業務邏輯不太複雜的web應用程式,這種模式下,JavaBean用於封裝業務

mvc架構之間的關係

1、dao層 dao層主要做資料持久層的工作,負責與資料庫進行聯絡的一些任務都封裝在此,dao層的設計首先是設計dao層的介面,然後在Spring的配置檔案中定義此介面的實現類,然後就可以再模組中呼叫此介面來進行資料業務的處理,而不用關心此介面的具體實現類是哪個類,顯得結構

JavaWeb(六)--應用程式設計模型(JSP model2 ,MVC結構)

一、MVC MVC並非是java特有,幾乎所有B/S結構專案都用它 M----->Model模型 V------>view檢視     C----->controller控制層  二、JSP model2

B/S系統MVC結構詳解

我們平時總是將三層架構與MVC混為一談,殊不知它倆並不是一個概念。 下面我來為大家揭曉我所知道的一些真相。 首先,它倆根本不是一個概念。 三層架構是一個分層式的軟體體系架構設計,它可適用於任何一個專案。 MVC是一個設計模式,它是根據專案的具體需求來決定是否適

spring MVCcontroller和service的junit4測試

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; import static org.springframework.test.web.servlet.result.MockMvcResul

【Asp.Net MVC+EF+架構】詳解(MVC VS 架構

前言:        接著上篇部落格說:MVC和三層架構到底是怎麼樣的一個關係?相同?或是迥異?或是部分相同,部分不同?或是思想同,邏輯不同?這是個值得思考的問題。關於三層架構大家應該差不多都有些瞭解

詳細講解mvc架構的區別

看到一篇部落格,詳細講解mvc與三層架構的區別。可以看看 注:本文轉載自:http://blog.csdn.net/csh624366188/article/details/7183872 -----------------------------------------

【Asp.Net MVC+EF+架構】詳解(一)初見

前言: 這個專案是小編我進入公司開始全面重頭開始著手的第一個專案,在寶寶的IT生涯裡這是一個里程碑,有著與眾不同的意義。那麼在之後小編會從頭至尾的寫一組關於Asp.Net MVC+EF+三層架構框架

.Net框架搭建之1、SQL Server EF MVC簡單框架

.Net簡單三層框架簡介 簡單三層框架,是.Net開發中最最基礎的框架了,由 資料訪問層、邏輯處理層、表示層組成。一般情況下,在專案中資料模型Model層也是單獨一層,但是隻是單純的資料模型不算在業務層劃分當中。 好了,框架搭建,如果不瞭解,可能會覺得難以下

楊老師課堂之JavaWeb體系的MVC架構有什麼區別

首先,宣告一下,三層是三層,MVC是MVC,這倆是毫無關係的。 三層是從整個應用程式架構的角度來分的三層(如果程式需要,還可以分多層)。 三層架構通常包括表示層,業務邏輯層以及資料訪問層。雖然三層架構將系統在邏輯上分成了三層,但是它並不是物理上的分層。也就是

【Java架構學習】MVC架構的區別

    其實這篇部落格的重點不是介紹三層架構,是重點介紹MVC並幫助理解MVC。學了這麼久MVC發現對它的理解還存在很多誤區,今天就來好好整理一下MVC。     MVC即Model-View-Co