Java MVC之 Model层
来自CloudWiki
Model层的作用
- M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
Model层的编写
客户端
管理端
package main; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Scanner; import java.util.Set; import entity.*; import exception.GoodsException; import exception.UserException; import service.*; /*本类对应实训: MVC之Model层 */ public class MainClass { public static void main(String[] args) { /*管理员登陆 * */ //如果输入正确就往下进行,否则就提示用户再次输入 UserShow us= new UserShow();//UserShow是一个视图层对象 while(true){ ArrayList<String> uinfo = us.start(); UserService admin = new UserService();//UserService是一个业务逻辑层对象 //uinfo.get(0)和uinfo.get(1)分别代表用户名和密码 //调用业务逻辑层函数,验证用户名和密码是否正确 boolean success =admin.login(uinfo.get(0),uinfo.get(1)); if(success) break; } GoodsShow gs = new GoodsShow();//视图层对象 GoodsService bs = new GoodsService();//业务逻辑层对象 String id=null;//商品编号 while(true) { //调用视图层方法 ,显示菜单 us.showMenu(); //调用视图层方法 ,获取用户的选择(应用不输入退出应用的编号则始终显示菜单) int choise = us.getChoise(); switch(choise) { case 1: //商品上架 gs.showTags();//调用视图层,展示所有标签 Tag t= gs.getTag();//调用视图层,为该商品选择一种标签 Goods g= gs.inputGoods(t);//调用视图层,手工录入商品信息 bs.addGoods(g);//调用业务逻辑层,添加商品到数据库 //System.out.println("商品成功上架!\r\n"); break; case 2: //商品下架 id = gs.inputId();//调用视图层,输入待下架的商品号 bs.delGoods(id);//调用业务逻辑层、进行实际下架 //System.out.println("商品成功下架!\r\n"); break; case 3: //查询图书 //调用业务逻辑层、进行实际查询的代码 ArrayList<Goods> binfo= bs.queryGoods(); gs.showGoods(binfo);//调用视图层,将商品进行展示 //System.out.println("商品成功查询!\r\n"); break; case 4: //根据商品编号查询图书 id = gs.inputId();//调用视图层,输入商品编号 Goods g4= bs.queryGoods(id); //调用业务逻辑层、进行实际查询的代码 ArrayList<Goods> cinfo=new ArrayList<>(); cinfo.add(g4); gs.showGoods(cinfo); // System.out.println("商品成功查询!\r\n"); break; case 5://修改图书数量 ArrayList<String> ginfo = gs.inputNum(); String id5 =ginfo.get(0); int num = Integer.parseInt(ginfo.get(1)); bs.modifyGoods(id5,num); //调用业务逻辑层、进行实际修改商品数量的代码 //System.out.println("商品数量成功修改!\r\n"); break; case 6: //退出当前应用程序 System.out.println(MessageFormat.format("您选择了{0}", "退出当前应用程序")); System.exit(0); break; default: continue; } } } }
项目源文件请见:
http://cloud.sict.edu.cn:80/link/CED3A93616F3973EBBBBCC4427DE32B1