MVC中三层规范写法示例
来源:互联网 发布:c语言产生随机数简单 编辑:程序博客网 时间:2024/04/30 01:15
经常会在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语句
@Mapperpublic 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层即可
@Servicepublic class QuestionService { @Autowired QuestionDao questionDao; public List<Question> getLatestQuestion(int userId,int offset,int limit){ return questionDao.selectLatestQuestions(userId,offset,limit); }}
controller:请求的处理,这里需要调用service获取数据并且显示到html中,
@Controllerpublic 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"; }}
0 0
- MVC中三层规范写法示例
- MVC三层写法解剖
- mvc三层架构中经典的CRUD写法(1)
- 基于三层架构的MVC模式应用示例源码
- 基于三层架构的MVC模式应用示例源码
- 基于三层架构的MVC模式应用示例源码
- MVC中Model三层的概念
- Jsonschema2pojo中json schema规范写法
- 企业数据库三层结构模型,MVC模式,设计模式,面向对象设计,接口规范及其他
- C#中控件的命名规范示例
- asp.net中三层架构与mvc之区别?
- asp.net中三层架构与mvc之区别?
- 对JavaEE中mvc模式以及三层架构的理解
- web设计中关于首页代码一些规范写法
- Java中entity(实体类)的写法规范
- Java中entity(实体类)的写法规范
- 三层架构示例代码
- mvc中json格式的使用方法示例
- 【NOIP2016提高A组五校联考1】排队
- 设计神经网模块的生成模
- 剑指offer_输入n个整数,找出其中最小的K个数
- APM概述
- iOS和安卓共用同一个二维码实现跳转下载链接
- MVC中三层规范写法示例
- Node.js[2] 事件驱动
- 单例模式--Lazy & UnLazy
- 深入数组
- leetcode 6. ZigZag Conversion
- split()
- 1010 只包含因子2 3 5的数
- JSP+JavaBean制作计算器
- MVC框架的封装(六)视图类