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三层中都放啥东西啊?能具体说说吗?的主要内容,如果未能解决你的问题,请参考以下文章

Java EE模式和MVC

Java 和 GUI - 根据 MVC 模式,ActionListener 属于哪里?

java swing vs mvc:这种模式真的可能吗?

java MVC设计模式

关于MVC模式请大家说下,让我了解下~?JAVA

java web-----MVC设计模式