dao和service怎么写0(mvcdao层,service层到底怎么写)

1.mvc dao层,service层 到底怎么写

我们都知道,标准主流现在的编程方式都是采用MVC综合设计模式,MVC本身不属于设计模式的一种,它描述的是一种结构,最终目的达到解耦,解耦说的意思是你更改某一层代码,不会影响我其他层代码,如果你会像spring这样的框架,你会了解面向接口编程,表示层调用控制层,控制层调用业务层,业务层调用数据访问层。

初期也许都是new对象去调用下一层,比如你在业务层new一个DAO类的对象,调用DAO类方法访问数据库,这样写是不对的,因为在业务层中是不应该含有具体对象,最多只能有引用,如果有具体对象存在,就耦合了。当那个对象不存在,我还要修改业务的代码,这不符合逻辑。

好比主板上内存坏了,我换内存,没必要连主板一起换。我不用知道内存是哪家生产,不用知道多大容量,只要是内存都可以插上这个接口使用。

这就是MVC的意义。接下来说你感觉service的意义,其实因为你现在做东西分层次不是那么严格,在一个你们做东西业务本身也少,举个最简单的例子,你做一个分页的功能,数据1000条,你20条在一个页,你可以把这个功能写成工具类封装起来,然后在业务层里调用这个封装的方法,这才是业务里真正干得事,只要没访问数据库的,都要在业务里写。

再有不明白的追问,这是经验问题,呵呵,其实以后你就会懂。只是刚开始写的代码都是有个请求,我就去数据库取,业务几乎没有。

------------------------------------------------------------------------------虽然每分,但还是把自己的理解给LZ说说。怎么说呢,我不是理论帝。

所以我讲讲自己的理解比说你现在用的是SSH框架,做一个用户模块:1、假设现在你做这个功能会用到user表和权限表,那么你前台的页面访问action,action再去调用用户模块service,用户模块service判断你是操作user表还是权限表,如果你操作的是user表则service的实现类就去调用userDAO。如果是操作的是权限表则调用权限的DAO2、也就是说DAO一定是和数据库的每张表一一对应,而service则不是。

明白的没?其实你一个项目一个service和一个DAO其实也一样可以操作数据库,只不过那要是表非常多,出问题了,那找起来多麻烦,而且太乱了3、好处就是你的整个项目非常系统化,和数据库的表能一致,而且功能模块化,这样以后维护或者改错比较容易,性能也高一些--------------------------------------------------------------------------简单的说DAO层是跟数据库打交道的,service层是处理一些业务流程的,至于你说的为什么要用service层封装,我认为:一般来说,某一个程序的有些业务流程需要连接数据库,有些不需要与数据库打交道而直接是一些业务处理,这样就需要我们整合起来到service中去,这样可以起到一个更好的开发与维护的作用,同时也是MVC设计模式中model层功能的体现-------------------------------------------------------------------------------初级DAO模式:例如::写一个类 操作1张表 针对这张表的所有操作都以方法的形式写在这个类中 1个操作对应1个方法要求是外部通过调用这个类的方法达到操作某张表的目的时不需要写任何和数据库以及JDBC相关的代码,这个类的命名就是XXDAO比如表叫做 t_goods 商品表那么操作它的DAO就叫GoodsDAO高级DAO模式:例如:即DAO工厂模式,多个XXDAO实现同一个接口或者继承同一个基类,编写一个工厂类通过工厂模式(简单工厂模式或利用反射动态加载均可)获得接口或基类对象,内部实际上封装返回的是具体的XXDAO类的对象。简单的说即是在1的基础上将创建具体的XXDAO对象的方式由new变为工厂模式实现例如:UserDAO dao = DAOFactory.create(。

);dao.save()dao.delete。.-------------------------------------------------------------------------1.有一个dao接口,里面有平时的增删查该的方法2.有一个具体的实体类3.有一个dao的实现类,有对实体操作的方法,继承1的接口4.如果有需要,还可以有一个工厂类,负责生产dao实现类---------------------------------------------------------------------------DAO层一般有接口和该接口的实现类! 接口用于规范实现类! 实现类一般用于用于操作数据库! 一般操作修改,添加,删除数据库操作的步骤很相似,就写了一个公共类DAO类 ,修改,添加,删除数据库操作时 直接调用公共类DAO类!-----------------------------------------------------------------------------com.公司名.系统名.模块名 代码目录结构Action : 负责页面逻辑,将调用service的结果返回到页面中Service : 接口定义---impl 接口的实现,负责业务逻辑Domain 对应数据库表的pojoDao : 只负责连接数据库,从数据库中查询结果,包装成对象后返回util :工具类。

2.Dao层到底是做什么的

Dao层:主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置。

dao层代码示例:

service层:主要负责业务模块的逻辑应用设计,Service层的业务实现,具体要调用到已定义的DAO层的接口,封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性,程序显得非常简洁。

service层代码示例:

dao层和service层关系:service层经常要调用dao层的方法对数据进行增删改查的操作,现实开发中,对业务的操作会涉及到数据的操作,而对数据操作常常要用到数据库,所以service层会经常调用dao层的方法。

扩展资料

Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。

在实际开发中DAO层大多是对某张表进行增删改查,都是一些固定的语句,除非涉及到更复杂的service层业务逻辑,才可能要添加更复杂的DAO层方法。

参考资料:搜狗百科-DAO

3.Dao层方法怎么写

dao完成连接数据库修改删除添加等的实现细节,例如sql语句是怎么写的,怎么把对象放入数据库的

service层是面向功能的,一个个功能模块比如说银行登记并完成一次存款,UI要把请求给service层,然后service曾将这一个case分解成许多步骤调用底层的实现完成这次存款,dao就是下面那层

dao就是把数据存起来,之所以service的方法会有雷同只不过是因为service得需求不是很复杂不用再service里面完成太多包装或者处理过程可以直接调用dao的方法就完成的请求处理例如就要save一个对象,而这个对象是封装好的,dao里面有个方法专门save封装好的对象于是service的方法就仅仅调用一下就o了,函数签名自然很像了

service不能直接接触持久层,而dao是持久层或者直接访问持久层

有的时候只是为了分层清楚,为了将来scale up的时候方便我们才把service和dao分开,其实没必要分开的

4.使用java SSH写通用dao层和service层

import java.io.Serializable;

import java.util.List;

import java.util.Map;

public interface ICommonDao {

public Serializable save(Object entity);

public void update(Object entity);

public void merge(Object entity);

public void delete(Object entity);

public Object findObject(Class clazz, Serializable id);

public List findList(String queryString);

public List findList(String queryString, Map args);

public Object findUniqueResult(String hql);

public List findList(final String hql, final int num);

}

import java.io.Serializable;

import java.util.List;

import java.util.Map;

public interface ICommonService {

public Serializable save(Object entity);

public void update(Object entity);

public void merge(Object entity);

public void delete(Object entity);

public Object findObject(Class clazz, Serializable id);

public List findList(String queryString);

public List findList(String queryString, Map args);

public Object findUniqueResult(String hql);

public List findList(final String hql, final int num);

}

实现类,用CommonDaoImpl实现ICommonDao

用CommonServiceImpl实现ICommonService

实现的时候直接调用hibernateTemplate中的方法就行,或者自己写点儿,都不难

5.java中dao层和service层的区别是什么

首先解释面上意思,service是业务层,dao是数据访问层。

呵呵,这个问题我曾经也有过,记得以前刚学编程的时候,都是在service里直接调用dao,service里面就new一个dao类对象,调用,其他有意义的事没做,也不明白有这个有什么用,参加工作久了以后就会知道,业务才是工作中的重中之重。

我们都知道,标准主流现在的编程方式都是采用MVC综合设计模式,MVC本身不属于设计模式的一种,它描述的是一种结构,最终目的达到解耦,解耦说的意思是你更改某一层代码,不会影响我其他层代码,如果你会像spring这样的框架,你会了解面向接口编程,表示层调用控制层,控制层调用业务层,业务层调用数据访问层。初期也许都是new对象去调用下一层,比如你在业务层new一个DAO类的对象,调用DAO类方法访问数据库,这样写是不对的,因为在业务层中是不应该含有具体对象,最多只能有引用,如果有具体对象存在,就耦合了。当那个对象不存在,我还要修改业务的代码,这不符合逻辑。好比主板上内存坏了,我换内存,没必要连主板一起换。我不用知道内存是哪家生产,不用知道多大容量,只要是内存都可以插上这个接口使用。这就是MVC的意义。

接下来说你感觉service的意义,其实因为你现在做东西分层次不是那么严格,在一个你们做东西业务本身也少,举个最简单的例子,你做一个分页的功能,数据1000条,你20条在一个页,你可以把这个功能写成工具类封装起来,然后在业务层里调用这个封装的方法,这才是业务里真正干得事,只要没访问数据库的,都要在业务里写。

再有不明白的追问,这是经验问题,呵呵,其实以后你就会懂。只是刚开始写的代码都是有个请求,我就去数据库取,业务几乎没有。

6.java里面service和dao一般是什么关系

service一般组合多个dao完整一个业务逻辑,比如:

@Service("customerInfoAdapter")

public class implements ICustomerInfoAdapter {

@Resource

private ICustomerInfoDao customerInfoDao;

@Resource

private ILoanRecordDao loanRecordDao;

@Resource

private SqlSessionFactory sqlSessionFactory;

/*

* (non-Javadoc)

*

* @see

* com.sfdai.financing.dao.service.ICustomerInfoAdapter#queryByCifno(java

* .lang.String)

*/

@Override

public CustomerInfo queryByCifno(String cifno) {

try {

return customerInfoDao.queryByCifno(cifno);

} catch (Exception e) {

throw new SfdaiException(ResultCode.QUERY_EXCEPTION, e);

}

}

@Override

public CustomerInfo queryByMemberNo(long memberNo) {

return customerInfoDao.queryByMemberNo(memberNo);

}

@Override

public List<CustomerInfo> queryByEmpId(String empId) {

try {

return customerInfoDao.queryByEmpId(empId);

} catch (Exception e) {

throw new SfdaiException(ResultCode.QUERY_EXCEPTION, e);

}

}

}

7.java中dao层和service层的区别,为什么要用service

dao全称Data Access Object,数据访问对象,是一种设计模式。

程序里是专门负责与数据库进行交互,进行增删改查的部分。

service层则是处理业务需求的部分。

之所以不把这两部分写在一起是为了解耦和

举个例子,有很多不同的功能可能会用到相同的访问数据库的方法

后台接收到前台传来的参数,分给不同的service层方法进行实现

service层方法再根据业务需求调用dao层的方法访问数据库获取数据

分成service和dao两层可以使得一些方法不用重复写,提高代码复用性

8.DAO层与service层之间的交互是怎么实现的

首先这是现在最基本的分层方式,结合了SSH架构。

modle层就是对应的数据库表的实体类。Dao层是使用了Hibernate连接数据库、操作数据库(增删改查)。

Service层:引用对应的Dao数据库操作,在这里可以编写自己需要的代码(比如简单的判断)。Action层:引用对应的Service层,在这里结合Struts的配置文件,跳转到指定的页面,当然也能接受页面传递的请求数据,也可以做些计算处理。

以上的Hibernate,Struts,都需要注入到Spring的配置文件中,Spring把这些联系起来,成为一个整体。

9.java中dao层和service层的区别是什么

首先解释面上意思,service是业务层,dao是数据访问层。

呵呵,这个问题我曾经也有过,记得以前刚学编程的时候,都是在service里直接调用dao,service里面就new一个dao类对象,调用,其他有意义的事没做,也不明白有这个有什么用,参加工作久了以后就会知道,业务才是工作中的重中之重。

我们都知道,标准主流现在的编程方式都是采用MVC综合设计模式,MVC本身不属于设计模式的一种,它描述的是一种结构,最终目的达到解耦,解耦说的意思是你更改某一层代码,不会影响我其他层代码,如果你会像spring这样的框架,你会了解面向接口编程,表示层调用控制层,控制层调用业务层,业务层调用数据访问层。初期也许都是new对象去调用下一层,比如你在业务层new一个DAO类的对象,调用DAO类方法访问数据库,这样写是不对的,因为在业务层中是不应该含有具体对象,最多只能有引用,如果有具体对象存在,就耦合了。当那个对象不存在,我还要修改业务的代码,这不符合逻辑。好比主板上内存坏了,我换内存,没必要连主板一起换。我不用知道内存是哪家生产,不用知道多大容量,只要是内存都可以插上这个接口使用。这就是MVC的意义。

接下来说你感觉service的意义,其实因为你现在做东西分层次不是那么严格,在一个你们做东西业务本身也少,举个最简单的例子,你做一个分页的功能,数据1000条,你20条在一个页,你可以把这个功能写成工具类封装起来,然后在业务层里调用这个封装的方法,这才是业务里真正干得事,只要没访问数据库的,都要在业务里写。

再有不明白的追问,这是经验问题,呵呵,其实以后你就会懂。只是刚开始写的代码都是有个请求,我就去数据库取,业务几乎没有。

dao和service怎么写0

转载请注明出处育才学习网 » dao和service怎么写0(mvcdao层,service层到底怎么写)

知识

c语言状态机怎么写(C语言状态机代码怎么写)

阅读(274)

本文主要为您介绍c语言状态机怎么写,内容包括C语言状态机代码怎么写,用单片机C语言怎么写用状态机实现按键控制LED灯闪烁这个程序百度,用单片机C语言怎么写用状态机实现按键控制LED灯闪烁这个程序搜。刚好前段时间写了一个简单协议的状态机

知识

堆雪人怎么写话(堆雪人看图写话)

阅读(254)

本文主要为您介绍堆雪人怎么写话,内容包括堆雪人看图写话,一年级上册作文看图写话堆雪人怎么写,看图写话《堆雪人》。冬天,天上飘着雪花,地上铺着雪毯,树上披着银装到处一片洁白景色。小红和小明到院子里堆雪人,他们俩把雪,滚成个雪球,雪球的不同

知识

ds160填写护照之前丢过要怎么写(美国面签旧护照忘带)

阅读(265)

本文主要为您介绍ds160填写护照之前丢过要怎么写,内容包括填DS160表格时,签证信息因为之前的护照遗失所以不知道,该怎么处,办理美国签证以前的旧护照丢失了,护照号码也忘了,DS160表格是,美国B2签证ds160表格如何填写及面签如何回答请教旧护

知识

cqy推荐词怎么写(网络用语cdx和cqy是什么意思)

阅读(549)

本文主要为您介绍cqy推荐词怎么写,内容包括处cqy常用的词,帮男生cqy的句子,网络热词cqy的意思是什么。所谓的cqy,即“处Q友”的拼音缩写,即通过QQ处朋友的意思。而所谓的cdx,即“处对象”的拼音缩写,通过聊天工具处对象。cgx,有些人

知识

用电报户申请书怎么写(用电申请书怎么写)

阅读(281)

本文主要为您介绍用电报户申请书怎么写,内容包括用电开户申请书范文,用电立户申请书怎么写,用电申请书怎么写。工业用电申请申报材料一.设计审查用户应向电力公司服务窗口提供的资料有:1)电气设计说明.2)用电负荷分布图.3)用电功率因数的计算和

知识

医疗卡丢了怎么写申请(医保卡丢了补办医保卡的申请书怎么写)

阅读(437)

本文主要为您介绍医疗卡丢了怎么写申请,内容包括医保卡丢了补办医保卡的申请书怎么写,医保卡丢了补办医保卡的申请书怎么写,医保卡丢了怎么写介绍信重新补办。1,如果是在居委会办理的城镇居民医疗保险,或者是在农村办理的农保,那么需要先到居

知识

课外阅读理解怎么写(小学生课外阅读怎么写)

阅读(420)

本文主要为您介绍课外阅读理解怎么写,内容包括阅读理解怎么写啊,小学生课外阅读怎么写,求怎样写阅读理解。1 时间、篇名、作者时间:记录写读书笔记的时间,只要精确到日即可,不用具体写到时分秒。篇名:填写当篇文章的题目。作者:填写当篇文章的作

知识

ei汉字怎么写(拼音ei对应的汉字)

阅读(359)

本文主要为您介绍ei汉字怎么写,内容包括拼音ei对应的汉字,我们平时叫一个人,那人答应ei,这个字怎么写,韵母是ei的字。拼音ei对应的汉字是欸和诶。诶的释义[ ēi ]叹词,表示招呼。[ éi ]叹词,表示诧异。[ ěi ]叹词,表示不以为然。[ èi ]

知识

Japanese的音标怎么写(日语音标一共是多少个)

阅读(297)

本文主要为您介绍Japanese的音标怎么写,内容包括japanese音标是什么,Japanese的音标,Japanese的音标。アイウエオ a i u e o (日语罗马音,e音就像英语的e的音标) a yi wu ei o(相近的拼音) 啊衣乌诶哦(相近的字的读

知识

比值的范围怎么写(化学中的比值的取值范围怎么写)

阅读(217)

本文主要为您介绍比值的范围怎么写,内容包括化学中的比值的取值范围怎么写,化学中的比值的取值范围怎么写,比值怎么写。如:2A+2B=2C+2D 那么 2mol A 和 2molB 反应 结果产生 2mol C 和 2mol D 这个反应等效平衡。反应物

知识

halokt猫英文怎么写(躲猫猫用英文怎么说)

阅读(261)

本文主要为您介绍halokt猫英文怎么写,内容包括茶杯猫图片用英语怎么说,KT猫用英文怎么写,Halokitty是什么意思。躲猫猫的英语:hide-and-seek game。重点词汇:hide英 [haɪd] 美 [haɪd] vt.隐藏;躲避,隐匿,躲藏;

知识

jiu妈jiu怎么写(jiuyuan怎么写)

阅读(516)

本文主要为您介绍jiu妈jiu怎么写,内容包括舅妈乱欲的拼音怎么写,jiou正的jiou怎么写,jiU奶头jiU字怎么写。多元输入法(多元汉字与图形符号输入法)可打出第6版《现代汉语词典》所有符合题目读音为jiu和yuan的汉字:jiū→ 勼;纠;鸠;究;赳

知识

ktv领班工作计划怎么写(KTV领班工作计划书怎么写)

阅读(260)

本文主要为您介绍ktv领班工作计划怎么写,内容包括KTV领班工作计划书怎么写,量贩式KTV领班的工作计划怎么做,KTV领班工作计划书拜求~~~~。计划书:目的: 为了明确 量贩KTV楼面管理人员的工作职责、范围和工作内容,特制定本制度。2、适用范围: 量

知识

陕西话daoshi怎么写(童言稚语怎么写)

阅读(323)

本文主要为您介绍陕西话daoshi怎么写,内容包括陕西方言daozhi怎么写,daoshi怎么写意思就是打扮,东北话daoshi怎么写。妈妈:“宝宝已经四岁了,你能够自我睡了。”孩子:“爸爸都那么大了,为什么不自我睡?”2、“这是马蹄莲,这是狗尾草,以前爸爸生活

知识

daoxie怎么写(祭文怎么写啊)

阅读(247)

本文主要为您介绍daoxie怎么写,内容包括daoxie这个词怎么写什么意思,人字怎么写,祭文怎么写啊。祭文的书写格式: 开头人们写祭文,习惯以“维”字开头。“维”是助词,作发语词用,无别的意思。祭文以“维”字开头后,紧接着即言明吊祭文时间

知识

给人daocai的daocai怎么写

阅读(236)

本文主要为您介绍给人daocai的daocai怎么写,内容包括daocai怎么写,daocai怎么写,财神,拼音怎么写。I had a terrible last summer vacation.I had to get up early in the m

知识

daota汉字怎么写

阅读(218)

本文主要为您介绍daota汉字怎么写,内容包括dao,ta,怎么写汉字,dao,ta,怎么写汉字,jianying写汉字。和能和xx相拼的音吧 给你张字母表声母表 b p m f d t n l g k h j q x zh ch sh r z c s y

知识

dao接口怎么写

阅读(227)

本文主要为您介绍dao接口怎么写,内容包括dao层的父接口ibasedao怎么写,springboot中dao接口怎样写,Dao层方法怎么写。接口是为了屏蔽不同数据库的JDBC实现差异而出现的。以常见的系统组织结构为例,管理系统里有一个部门department表用于存放

知识

通用basedao怎么写

阅读(223)

本文主要为您介绍通用basedao怎么写,内容包括java中网站所用到的baseDao怎么写呢,java中网站所用到的baseDao怎么写呢,BaseDAO是用来做什么的。/** * 数据库连接 * * @author Administrator * */public class BaseDao { /

知识

dao食怎么写

阅读(292)

本文主要为您介绍dao食怎么写,内容包括东北话daoshi怎么写,shizipang、shizitou、piedaotou怎么写谢谢,biang汉字怎么写。首先,明确一下,我们是bai用顺口溜来写这个字,所以,要记清顺口溜哦~第一句:一点飞上天

知识

粤语饭dao怎么写

阅读(648)

本文主要为您介绍粤语饭dao怎么写,内容包括粤语吃饭怎么说,粤语12345789怎么写的,吃饭粤语去吃饭粤语怎么说。吃饭的粤语说法是”食饭“:[ 粤语 ]:sik6、faan6;去吃饭就是”去食饭“:[ 粤语 ]:heoi3、sik6、faan6食是粤

[/e:loop]