java的mvc模式中bean.dao.service三层中都放啥东西啊?能具体说说吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的mvc模式中bean.dao.service三层中都放啥东西啊?能具体说说吗?相关的知识,希望对你有一定的参考价值。
就是如何把一个写好的servlet登陆程序用mvc给分出来实现
bean 放实体类 (get set 以及hibernate生成的对应实体类的XML文件)dao 连接数据库的方法以及增删改查的方法 写成接口
service 主要 实现 dao层的接口 然后进行判断 转发到JSP 显示出来 参考技术A MVC分别是model,view,Controller model是数据模型,可以建立数据库连接,写增删改查的类,view是视图层,上面可以写JSP页面,controller是业务逻辑,它所完成的就是这个项目的走向,更像是一个控制器,刚开始写得时候一定要有接口这个概念,将所有的方法抽象出来,虽然平常写项目感觉接口没有什么必要,但是养成好得习惯,到了企业里面会很轻松 参考技术B bean 放的是实体类,就是属性、字段 供da0 和service 调用
dao 写的是接口,就是定义方法
service 是实现接口方法的类,逻辑运算就写在这里。 参考技术C (模型层)中放登陆用户的实体类 (显示层)就是登陆页面 登陆的方法放在Dao包 servlet去接收用户输入的用户名和密码调用Dao中的方法操作数据库查询 也就是(控制层)
JAVA基于MVC模式下的理发管理系统
每天记录学习,每天会有好心情。*^_^*
今天将为大家分析一个理发管理系统(该系统基于JAVA语言开发,设计过程中充分利用MVC设计模式。针对行业的管理需求,以日常管理为核心,构建集员工信息管理模块,发型管理模块,顾客信息管理模块,日常财务收支管理,库存管理,短信功能,智能提醒模块,预约管理模块等八大模块于一体的理发管理平台。用户通过浏览器可以查看店内的所有服务项目,并向店内预约,管理员对其进行审核。该系统在美发行业的应用,能够有效帮助理发店更改传统的人为管理方式以及主观管理方式,全面掌握店内经营状况。),该项目使用框架为SSM(MYECLIPSE),选用开发工具为MYECLIPSE。理发管理系统为一个 后台项目。
为了完成该系统,我们首先需要对该系统进行需求分析。一个理发管理系统应包含用户角色有管理员、理发师。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。
在系统的功能中,消费是一个重要的表。这个表使得客户关联了起来。在消费表中消费的客户与客户的mingzi字段对应、消费的客户id与客户的id字段对应,他们拥有关联关系。
总结得出该系统所有数据为:管理员(admin)、理发师(lifashi)、客户(kehu)、消费(xiaofei)
管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
理发师表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 理发师id mingzi | VARCHAR(255) | | 名字 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码 nianling | VARCHAR(255) | | 年龄 xingbie | VARCHAR(255) | | 性别 jianjie | VARCHAR(255) | | 简介
客户表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 客户id mingzi | VARCHAR(255) | | 名字 dianhua | VARCHAR(255) | | 电话 xingbie | VARCHAR(255) | | 性别 huiyuanjibie | VARCHAR(255) | | 会员级别 yue | VARCHAR(255) | | 余额
消费表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 消费id kehu | VARCHAR(255) | | 客户 kehuid | VARCHAR(255) | | 客户id leixing | VARCHAR(255) | | 消费类型 jine | VARCHAR(255) | | 金额 shijian | VARCHAR(255) | | 时间
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for gglifaguanli -- ---------------------------- DROP TABLE IF EXISTS `t_admin`; CREATE TABLE `t_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT ‘管理员id‘,`username` VARCHAR(255) DEFAULT NULL COMMENT ‘账号‘,`password` VARCHAR(255) DEFAULT NULL COMMENT ‘密码‘,PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=‘管理员‘; -- ---------------------------- DROP TABLE IF EXISTS `t_lifashi`; CREATE TABLE `t_lifashi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT ‘理发师id‘,`mingzi` VARCHAR(255) DEFAULT NULL COMMENT ‘名字‘,`username` VARCHAR(255) DEFAULT NULL COMMENT ‘账号‘,`password` VARCHAR(255) DEFAULT NULL COMMENT ‘密码‘,`nianling` VARCHAR(255) DEFAULT NULL COMMENT ‘年龄‘,`xingbie` VARCHAR(255) DEFAULT NULL COMMENT ‘性别‘,`jianjie` VARCHAR(5000) DEFAULT NULL COMMENT ‘简介‘,PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=‘理发师‘; -- ---------------------------- DROP TABLE IF EXISTS `t_kehu`; CREATE TABLE `t_kehu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT ‘客户id‘,`mingzi` VARCHAR(255) DEFAULT NULL COMMENT ‘名字‘,`dianhua` VARCHAR(255) DEFAULT NULL COMMENT ‘电话‘,`xingbie` VARCHAR(255) DEFAULT NULL COMMENT ‘性别‘,`huiyuanjibie` VARCHAR(255) DEFAULT NULL COMMENT ‘会员级别‘,`yue` VARCHAR(255) DEFAULT NULL COMMENT ‘余额‘,PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=‘客户‘; -- ---------------------------- DROP TABLE IF EXISTS `t_xiaofei`; CREATE TABLE `t_xiaofei` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT ‘消费id‘,`kehu` VARCHAR(255) DEFAULT NULL COMMENT ‘客户‘,`kehuid` INT(11) DEFAULT NULL COMMENT ‘客户id‘,`leixing` VARCHAR(255) DEFAULT NULL COMMENT ‘消费类型‘,`jine` VARCHAR(255) DEFAULT NULL COMMENT ‘金额‘,`shijian` VARCHAR(255) DEFAULT NULL COMMENT ‘时间‘,PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=‘消费‘;
添加理发师模块:
通过添加理发师模块,可以完成理发师的添加操作。在页面中跳转到添加理发师页面,输入理发师的所有信息,点击添加操作,可以将理发师数据以post提交到lifashiController中。理发师所包含的字段信息包括名字,账号,密码,年龄,性别,简介。在lifashiController中通过定义lifashi接受所有的理发师参数。使用lifashidao的insert方法将lifashi实体插入到数据库中。完成数据的添加操作,在lifashiMapper中匹配对应的lifashixml完成插入sql语句的执行操作。该部分核心代码如下:
通过lifashidao的insert方法将页面传输的理发师添加到数据库中 lifashidao.insert(lifashi);
将添加理发师成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加理发师成功");
返回理发师管理界面
return "forward:/tianjialifashi.action";
查询理发师模块:
理发师的查询模块实现方式为,在页面中发起lifashiguanli.action请求。通过该请求,响应服务器lifashiController类中的lifashiguanli,在该方法中通过selectByexample进行数据的查询操作。将所有的理发师信息查询后,保存到request中的lifashiall中,在页面中进行展示,返回lifashiguanli.jsp,该部分核心代码如下所示:
生成理发师样例类,通过example定义查询条件 LifashiExample example = new LifashiExample();
通过lifashidao的selectByExample方法查询出所有的理发师信息 List lifashiall = lifashidao.selectByExample(example);
将理发师信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("lifashiall", lifashiall);
返回理发师管理界面
return "forward:/lifashiguanli.action";
修改理发师模块:
在页面填写完修改信息后,点击修改按钮,将数据提交到xiugailifashi中,封装为一个理发师
,使用update方法修改该理发师信息,将数据同步到数据库,完成修改操作。
定义修改成功提示信息,修改理发师成功,并保存到request中具体代码如下:
通过lifashidao的修改方法根据id修改对应的理发师 lifashidao.updateByPrimaryKeySelective(lifashi);
将修改理发师成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改理发师信息成功");
返回理发师管理界面
return "forward:/lifashiguanli.action";
删除理发师模块:
删除理发师功能的实现方式为,通过点击删除理发师按钮,向服务器发起get请求。请求中包含理发师的id信息,在lifashiController中使用int接受该id,并将该id传入lifashidao的deleteByPrimaryKey方法中。该方法的作用为根据id删除对应理发师。最后将删除理发师成功的信息返回页面,该部分核心代码如下:
通过lifashidao的删除方法根据id删除对应的理发师 lifashidao.deleteByPrimaryKey(id);
将删除理发师成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除理发师成功");
返回理发师管理界面
return "forward:/lifashiguanli.action";
以上是关于java的mvc模式中bean.dao.service三层中都放啥东西啊?能具体说说吗?的主要内容,如果未能解决你的问题,请参考以下文章