精华内容
下载资源
问答
  • sql是不是可以service层?虽然service是业务层

    万次阅读 多人点赞 2016-12-15 17:44:40
    我记得我曾经学javaweb的时候,也是被这个问题困惑过大半年,service层到底要不要出现sql或者Hibernate的hql语句? 我曾经有和你一样的困惑,比如有一个UserDao的接口,假如我想查询User,根据Id查询可能UserDao就...
    我记得我曾经学javaweb的时候,也是被这个问题困惑过大半年,service层到底要不要出现sql或者Hibernate的hql语句?
    我曾经有和你一样的困惑,比如有一个UserDao的接口,假如我想查询User,根据Id查询可能UserDao就需要设置一个findUserById(Integer id)这样的方法,根据用户名查询就是findUserByName(String name),根据邮箱查询就是findUserByEmail(String email),可能我还需要一个模糊查询,根据用户名模糊查询findUserByNameLike(String NameLike)等等,如果我的查询条件很多,我很有可能会在UserDao里面设置很多个不同的方法!可能会导致这个UserDao的小方法泛滥的多!我当时就想,能不能UserDao里面只设置一个find方法,然后sql语句和参数都由service传入,那么这样,UserDao岂不是非常清爽简洁啦?比如findUserByQuerySql(String querySql,Object... params),service业务层负责传入sql查询语句和参数,UserDao执行通用的findUserByQuerySql就行了。
    我想,听完上面我说的这段,你一定泪流满面想和我握爪,就像找到了战友一般是不是!!

    不幸的是,这种方案很快就被我当时的老大否定了!!
    采用这种所谓通用Dao从service接收参数的方法在大型团队中会有以下几个严重问题!
    1,假如你在多个地方中调用了这个通用的findUserByQuerySql(String querySql,Object... params),很有可能你的sql语句会在service中重复,举个例子,假如你在多个地方需要通过用户名模糊查询用户,那么,每个地方,你都需要准备完全一样的querySql(参数可能不同)。也就是说,你的service层的代码会重复!你就会在多个地方复制同一段代码,如果哪一天模糊查询的方式改变了,你需要把所有涉及到此查询条件的sql语句都给找出来一个一个来改变!!在大项目中是不可想象的!(Dao模式中是把sql封装到dao的方法中,那么,相当于只要调用这个dao方法就复用了方法里面的sql)。


    2,涉及到多人合作问题,你可能现在是一个人做项目,感受不到,如果项目很大,是多个人合作,你的这个通用的UserDao被多个程序员调用了,假如,我为了一个很复杂的查询,光思考sql结构都思考了老半天(不要以为sql查询就是简单的select from,我曾经见过单条100行以上的sql查询语句!),嗯,我花了大概30分钟搞定了一条复杂的sql查询,另外一个程序员恰好也需要这个功能了,这个时候,他可能也会在那里想同样的一条sql查询啊!!结果他想了2个小时才搞定,你说浪费不浪费???这还不算什么,很有可能你们对于同一个查询写出来的sql语句是不一致的!!甚至有些人写的是正确的,有些人写的是有bug的,那么,极有可能出现你们两个人对于同一个查询不一致的情况发生!这都还不算事,最恐怖的就是,如果涉及到的查询由于业务原因发生变化了,那么,每一个人都去代码中捉虫子去吧!!结果再来一次每一个人都一套自己的sql,这种糟糕的局面会像滚雪球一样,越来越严重。(采用Dao模式,只需要一个sql高手把同一个查询的sql封装到dao的方法中,所有需要此功能的只需要调用此dao的该方法就行了)。

    你的本意是想让UserDao更简单点,最好只有一个通用的查询方法,出发点是好的,但是,我希望你明白一点,不是东西越少就越好,就像java程序一样,本质上都是从main方法进去,main方法出来,我把全部代码放在一个main方法,弄他个30万行,有没有问题?依我说,没问题,jvm不会拒绝的,一样执行。这样整个程序只有一个方法呢,是不是越简单越好呢?可实际情况是一个大型项目中,所有类的总和都会有上千甚至上万个,大家各司其职,把业务拆分到单元中,说的专业点,就是面向对象三大特性之一的封装了。


    Dao是数据访问对象,一个业务逻辑不仅仅是访问数据,应该说,数据是业务逻辑的一个底层支撑,举个例子,把你的日常生活看作你的业务的话,那么,一日三餐饭就相当于是你的业务活动的支撑了!我们在论坛交流的目的不是为了把问题文章存到数据库中好玩,而是为了和其他人交流,实现论坛的商业或非商业需求,存到数据库的唯一理由是为了持久化,好让你明天登录还能看到你的帖子,或者其他人能够发现你的帖子!持久化本身并非是商业活动意义上的业务逻辑,他只是为了能够提供更好更智能的商业业务而设置的一个基础设施,否则,一个发了帖子第二天就看不到的论坛,谁会去用呢?
    可能对于业务逻辑的概念你还是很迷糊,我再举个例子,假如现在有一个网站系统,“每天首次登录就会送10个分,重复登录不送分,发一个帖子送50个分,如果帖子被置为精华,送1000个分,如果用户捣乱犯规,一次扣500个积分,犯规三次或积分小于0,锁定用户”,注意我用引号引起来的部分,这是一个论坛逻辑,这就是一个论坛经营过程中的业务规则,这些东西都需要在service层中去实现的!只不过Dao层,对于上述业务提供了数据持久底层支撑。如果有一个神存在,它可以监控所有的数据并记在脑子里,我们就可以不需要数据库了,需要什么业务就去找神询问就行了。这个时候我们的Dao可能就变成GodBrain(神的脑子)这样一个对象呢,获取用户积分就是GodBrain.getUserPointsByUid(Integer uid)。




    回到你的问题本身,把sql写到service层是不行的(如果有程序员反驳我的观点,我只能说,你做的项目太小了,或者根据就是一些纯忽悠的辣鸡项目,你根本不知道什么是大型项目的有价值的项目了),那么怎么控制Dao层中太多的小方法呢?
    我觉得可以这样做,还是以UserDao为例子,我们还是设置很多个小的琐碎的查询方法,比如UserDao.findUserByName(String name),UserDao.findUserByNameLike(String nameLike),同时我们在UserDao中设置一个通用的private的私有find(querySql)方法,findUserByName这样的方法不做具体的查询工作,而只是根据用户传递进来的name啊nameLike等参数生成sql语句,生成sql语句后调用Dao中的private的find方法,这个find方法是一个通用的方法!
    通过上面的解决方法,可以将Dao中的重复代码降低到最小。


    你能够在这里发这样的帖子说明你是一个爱思考的人,慢慢学吧,不要轻信菜鸟同事的说法,或者大部分人的看法,多读点书,特别是那些被大家公认的好书,说句不客气的,程序员之间的差异比人和猴子之间的差异还大,所以网络上一些人告诉你的很有可能是错误的。


    解决问题还是看实际需求,耦合不耦合也是看实际需求的,我很不喜欢一些人一上来就否定这个,说这个辣鸡,那个辣鸡,举个例子,你自己开个杂货铺,你有必要成立采购部,销售部,财务部吗?你有必要采用MBA的管理方式吗?显然是不需要的,但是你要是开个大企业,你就需要了,因为大企业涉及到的也无太大,人员太多,业务越复杂,就越应该拆分,越应该把一个整体软件组件化,采用分布式子系统等,否则业务错综复杂,以至于单个项目超出了人脑子能够理解的极限,无论是维护还是可理解性上都是极其困难的。分而治之就是分层思想的一个体现,也是将复杂性包裹在一个组件中不让他扩散到外部。Dao接管了整个数据库部分,如果你们公司有人很懂sql的话,他们完全可以封装一整套Dao,作为业务开发人员,你连sql都是看不到的,你只需要使用它们提供的Dao的api就行了。这样,你在做业务的时候,你的业务中不会包含任何的数据库逻辑,因为所有的数据库逻辑都被围困在Dao中而不会扩散到外部,这样,复杂性就被管理起来了,就被征服了。
    很多网友说,jsp一样能干,不分层也能干,是的,这是可以的,但是这仅限于小型项目或者试验项目。如果你想成长的更快,真的在软件业有成绩,一定要把分而治之这种思想理解到一个底朝天,分布式系统,集群,SOA,消息中间件MQ等,这些东西的思想都是想通的,不要因为一个人告诉你jsp也能干你就裹足不前了。
    展开全文
  • mvc dao层、service层 到底怎么

    千次阅读 2017-12-25 19:29:01
    首先解释面上意思,service是业务,dao是数据访问。 呵呵,这个问题我曾经也有过,记得以前刚学编程的时候,都是在service里直接调用dao,service里面就new一个dao类对象,调用,其他有意义的事没做,也不明白有...
    首先解释面上意思,service是业务层,dao是数据访问层。
    呵呵,这个问题我曾经也有过,记得以前刚学编程的时候,都是在service里直接调用dao,service里面就new一个dao类对象,调用,其他有意义的事没做,也不明白有这个有什么用,参加工作久了以后就会知道,业务才是工作中的重中之重。
    我们都知道,标准主流现在的编程方式都是采用MVC综合设计模式,MVC本身不属于设计模式的一种,它描述的是一种结构,最终目的达到解耦,解耦说的意思是你更改某一层代码,不会影响我其他层代码,如果你会像spring这样的框架,你会了解面向接口编程,表示层调用控制层,控制层调用业务层,业务层调用数据访问层。初期也许都是new对象去调用下一层,比如你在业务层new一个DAO类的对象,调用DAO类方法访问数据库,这样写是不对的,因为在业务层中是不应该含有具体对象,最多只能有引用,如果有具体对象存在,就耦合了。当那个对象不存在,我还要修改业务的代码,这不符合逻辑。好比主板上内存坏了,我换内存,没必要连主板一起换。我不用知道内存是哪家生产,不用知道多大容量,只要是内存都可以插上这个接口使用。这就是MVC的意义。
    接下来说你感觉service的意义,其实因为你现在做东西分层次不是那么严格,在一个你们做东西业务本身也少,举个最简单的例子,你做一个分页的功能,数据1000条,你20条在一个页,你可以把这个功能写成工具类封装起来,然后在业务层里调用这个封装的方法,这才是业务里真正干得事,只要没访问数据库的,都要在业务里写。 
    再有不明白的追问,这是经验问题,呵呵,其实以后你就会懂。只是刚开始写的代码都是有个请求,我就去数据库取,业务几乎没有。
    ------------------------------------------------------------------------------
    虽然每分,但还是把自己的理解给LZ说说。
    怎么说呢,我不是理论帝。所以我讲讲自己的理解
    比说你现在用的是SSH框架,做一个用户模块:
    1、假设现在你做这个功能会用到user表和权限表,那么你前台的页面访问action,action再去调用用户模块service,用户模块service判断你是操作user表还是权限表,如果你操作的是user表则service的实现类就去调用userDAO。如果是操作的是权限表则调用权限的DAO
    2、也就是说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 对应数据库表的pojo
    Dao : 只负责连接数据库,从数据库中查询结果,包装成对象后返回
    util :工具类
    追问
    我看着 他们的 DAO里面的接口都和service里面的接口都一模一样 这是为什么呢
    何必多此一举 还有再问下 spring 在调用的时候经过哪几个步骤
    回答
    完全一样是因为业务简单,都是简单的增删改查。但是如果业务复杂一点,service层干的活就多了。举个简单一点的例子,附件上传,dao可能只把附件的路径啊,名称啊之类的存储到数据库中,但是真正的把文件上传的ftp还是要在service层写的。
    
    你的第二个问题没看懂你要问啥。
    ------------------------------------------------------------------------------------------
    action里是动作层,一般是控制层的代码,控制页面的跳转;Dao层负责数据库的对象的増删改查接口,里面的方法是抽象的;DAOImpl层则实现了Dao层中的抽象方法,供action调用,这样也从一定程度上对控制层和数据库层进行解耦
    追问
    dao daoImple 和 service serviceImpl 里面的接口和实现有什么不一样吗
    分这么多层干嘛呢 是 daoImpl 供action 调用还是 serviceimpl供action 调用?
    --------------------------------------------------------------------------------------------

    展开全文
  • 基本的增删改查 逻辑删这些是封装起来了,但是很常需要自己其他sql语句,比如取得图片,在另一个数据库查数据(用oracle情况下从mysql查数据),我看公司员工的的sql代码基本是在service写的,比如查图片之类的...

    我在公司实习一个月多一点了,我看公司的的sql代码,基本的增删改查 逻辑删这些是封装起来了,但是很常需要自己写其他sql语句,比如取得图片,在另一个数据库查数据(用oracle情况下从mysql查数据),我看公司员工的写的sql代码基本是在service写的,比如查图片之类的,经常repository什么也不用写,继承一个基本封装好的增删改逻辑删等就行了,除非特别时需会用jap写点不同参数的查询,我想问问各位,在service写sql语句直接查数据库到底好不还是不好,这样写的话dao层是简洁了,但是我感觉如果项目一大可能会出问题

    展开全文
  • DAO层和Service层的究极理解

    千次阅读 多人点赞 2020-07-21 16:47:24
    说实话,学了挺久的MVC架构了,到现在也一直没整明白Service层和DAO层是干什么用的。 这波是Dao成和Service层的究极理解,相信大家看了之后会有所感悟
    
    

    先看后赞,养成习惯。
    点赞收藏,人生辉煌。

    在这里插入图片描述


    说实话,学了挺久的MVC架构了,到现在也一直没整明白Service层DAO层是干什么用的,哪怕我目前已经学到了Spring Boot,但回过头来看这些基础知识,依然是不明就里。
    感觉Service层并没有做什么实际的工作,只是接受了Servlet,同时又调用了Dao。它本身并没有什么实际意义的代码,感觉并没有什么用处,那为什么还写?这不是增加代码量吗?
    还有DAO层是做什么的?为什么用Service层来调用DAO层?

    在这里插入图片描述

    网上的相关文章我也看了挺多,但大都讲的不是很通俗易懂,看了之后依旧还是很迷糊。
    问了身边的一些大佬同学,也去咨询了下老师,不断求知
    总算整明白了,我把我的心得写下来跟大家做个分享。


    先简单来讲下Dao层,和Service层的概念:

    Service是业务层,Dao是数据访问层,这样的分层是基于MVC架构来说的。

    Dao层:全称为data access object,属于一种bai比较底层,比较基础的操作,具体到对于某个表、某个实体的增删改查

    Service层:被称为服务,肯定是相比之下比较高层次的一层结构,相当于将几种操作封装起来。

    具体起来,Dao的作用是封装对数据库的访问:增删改查,不涉及业务逻辑,只是达到按某个条件获得指定数据的要求;
    而Service,则是专注业务逻辑,对于其中需要的数据库操作,都通过Dao去实现。


    简单来说就是Dao层是底层,具体到某一张表的增删查改,可以理解为有多少张表就有多少个Dao层,而Service成可以理解为是Dao层的 “上司”,通过Service层来控制Dao层。

    一个Service层控制一个或者多个Dao层。

    举个栗子:Service层好比是老大,手下跟着一大帮小弟 (Dao层), 老大不用亲自出马,有事情吩咐小弟去干就行,老大只管下命令,小弟只管做事跑腿。
    在这里插入图片描述

    而为什么我们要通过Service层去调用Dao层,这样做的最大好处就是:

    解耦

    说的通俗点就是降低代码之间的耦合,尽量让代码之间不要有太大的联系。

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

    这样当某部分代码出错或者需要修改时,其他代码就不需要修改或者变更,好处就在这里。

    而 Dao 层,只负责接收最终的 sql 语句,具体到某一张表的增删查改。

    再用上面的老大和小弟的例子,小弟 (Dao层) 脑子一般不太灵光,不具备什么决策能力。能当上老大脑瓜都比较好使,命令由老大去下达,累活脏活交给小弟去干 (增删查改),底下一大帮子小弟听老大指挥,老大叫谁干什么就干什么。最后完成老大布置的任务。

    Service层也不是就非有不可,对于极小的项目而言,加了Service层,反而增加了代码量,而且Dao层种以及预见了可能出现的情况,并进行了相应的扩展。那么,此时就不需要了。

    虽然小弟脑子可能不太好使,但是有些事,你没脑子都能完成,这时就不需要老大出马了,不然一点屁大点的事都要麻烦老大,老大也太掉价了。

    但是存在即合理,存在Service层肯定有其原因,通过Service层去调用Dao层,不仅可以解耦合,而且可以增加代码的拓展性。


    以上仅是个人的一些当前阶段的理解,如果我有哪里写的不对,欢迎评论区留言进行指正。

    白嫖不好,创作不易。各位的点赞就是我创作的最大动力,我们下篇文章见!
    老铁,如果有收获,请点个免费的赞鼓励一下博主

    在这里插入图片描述

    展开全文
  • 如何设计Service层

    千次阅读 2019-01-14 16:47:20
    在初学Spring时曾被Service绕晕,为何MVC模式下会多出一个Service层?设计Service时候为何需要先一个接口,然后再去实现?Service之间是否可以相互调用?而这篇文章就是当初疑问的解决,也是对MVC模式深入理解。 ...
  • 在使用spring的过程中,service层写在配置文件中好呢还是注解配置呢? 在配置文件中是这样的 注解配置时这样的@Service("userService") 说说理由哦。
  • service层的作用

    千次阅读 多人点赞 2014-10-12 13:05:02
    Service层是为了处理包含多个POJO对象(即对多个表的数据操作)时,进行事务管理(声明式事务管理)。Service层(其接口的实现类)被注入多个DAO对象,以完成其数据操作。 2, Service之有无 这一...
  • 【心得】DAO层和Service层

    千次阅读 2017-04-10 02:49:32
    DAO层和Service层联系与对比 在MVC和三层框架里的DAO大层分为DAO层和DAOImpl层,Service大层分为Service层和ServiceImpl层;有时候感觉没有那么大必要,分这么多层,太麻烦,有的一个层才一两句话,这个怎么理解呢...
  • controller层和service层的作用

    千次阅读 2020-05-09 10:15:34
    controller层和service层的作用 1.在controller和service里都那些代码? Controller,从字面上理解是控制器,所以它是负责业务调度的,所以在这一层应一些业务的调度代码,而具体的业务处理应放在service中去...
  • Spring boot 三层框架dao层、service层、controller层+实体model层model层dao层service层controller层 首先创建一个springboot项目。 model层 model层也叫pojo层或者entity层,个人比较喜欢pojo层。 一般数据库的...
  • Action层, Service层 ,modle层 和 Dao层详解

    万次阅读 多人点赞 2018-03-30 10:10:32
    Service层:引用对应的Dao数据库操作,在这里可以编写自己需要的代码(比如简单的判断)。Action层:引用对应的Service层,在这里结合Struts的配置文件,跳转到指定的页面,当然也能接受页面传递的请求数...
  • 如何一个nativeservice

    千次阅读 2015-03-07 16:26:54
    android的service大概有...Java的aidl很方便,socket的demon方式也很理解,native的就显得稍微麻烦一点,咱们通过一个例子来说一下,首先说我们不讲解binder的内部机制…. 我们打算个简单的service,只提供set和g
  • JAVA中Action层, Service层 ,model层 和 Dao层的功能区分

    万次阅读 多人点赞 2015-04-10 00:47:42
    首先这是现在最基本的分层方式,结合了SSH架构。model层就是对应的数据库表的实体...Action层:引用对应的Service层,在这里结合Struts的配置文件,跳转到指定的页面,当然也能接受页面传递的请求数据,也可以做些...
  • 估计很多java开发的同学都遇到过,service层一个接口,然后再接口的实现类,但这个接口从项目开始到项目倒闭,都不会有第二个实现,那为什么不直接个service类呢?如果你还没想过这个问题,那要好好想想了。...
  • javaweb开发设计Service层

    千次阅读 2019-03-27 22:10:36
    Service从何而来 Spring MVC,是一个MVC框架,提到MVC,大家都不陌生,简单说一下,M为模型,处理数据逻辑,V为视图,负责展示,而C为控制,负责M与V的交互。 在我大学的课堂上,也有学习到MVC模式,最简单的...
  • 普通类调用service层或者mapper层接口

    千次阅读 2020-10-20 11:08:47
    常见的是Controller层调用service层,调用mapper层。但是因为一些业务需求,可能需要在普通类中直接调用service层或者mapper层接口,这时候如果使用普通类直接调用service层或者mapper层都会报null,就算在对应的...
  • service层属于springmvc的service业务层。 domian存放实体,如果用ibatis框架,一般mapping创建在它下面,当然只针对架构mapping也是无意义。 util功能包,针对本项目工具类。 common通用工具包,一般一个公司会有...
  • Service层接口返回类型

    2020-02-29 10:43:25
    但其中,Service层接口方法的返回类型怎样设置比较呢? 比如说,一个sql查询请求,我要返回给controller的是一个对象的list;一个sql插入请求,我要返回给controller的是一个boolean值或者id值。 如果每个...
  • 为什么事务普遍加在service层

    千次阅读 2019-06-12 17:15:18
    结合事务的四大特性(ACID),即可很的解释为什么加在service层。首先,如果事务注解@Transactional加在dao层,那么只要与数据库做增删改,就需要提交一次事务;如此做事务的特性就发挥不出来,特别是事务的一致...
  • Java中dao层和service层的区别

    万次阅读 2019-03-06 09:54:48
    今天看了一篇文章,的是关于Java中dao层和service层的区别,的是相当。忍不住跟大家分享。 service是业务层,dao是数据访问层。 记得以前刚学编程的时候,都是在service里直接调用dao,service里面就new一个...
  • Action主要的功能就是组织service的,比如你要做权限验证,那么请求会被Action获取,那么如何验证呢?Action可不管他要问service该怎么办。当得到service返回的结果后根据结果判断下一跳是哪里(如果验证用户存在且...
  • Service层:引用对应的Dao数据库操作,在这里可以编写自己需要的代码(比如简单的判断)。Action层:引用对应的Service层,在这里结合Struts的配置文件,跳转到指定的页面,当然也能接受页面传递的请求数据,也可以...
  • DAO层,Service层,Controller层、View层

    万次阅读 2013-12-21 14:22:51
    DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行...Service层
  • DAO层与Service层区别?

    千次阅读 2009-03-02 19:01:00
    dao完成连接数据库修改删除添加等的实现细节,例如sql语句是怎么的,怎么把对象放入数据库的 service层是面向功能的,一个个功能模块比如说银行登记并完成一次存款,UI要把请求给service层,然后service曾将这一个...
  • 最近争论了半天,在Spring+mybatis运用中我坚持要这样:         是因为处于安全的考虑,如果Service的对象属性名称就是和字段名称完全对应,那么SQL注入在某些情况下会变的更容易吧?希望能够更深入的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 190,491
精华内容 76,196
关键字:

如何写好service层