J2EE开发分层浅析

针对外部一个输入信息后的提交操作,将数据更新入数据库为场景作分析:

可以在HTTP请求中直接传入数据库操作语句,后台接收后直接执行此操作,然后返回操作结果,流程结束,看起来最简。

但是,如果返回的结果可能是传给View层显示的JSP,也可能是传给Web service的客户端,那么流程控制逻辑有所不一样,所以需要将后台操作抽象成Service,流程控制逻辑抽象成Controller。

但是,如果这个提交对应的不仅是对应一个数据库操作,而涉及多个数据库操作呢?所以请求操作语句不如请求方法,数据库操作可在这个Service方法里包装。 但是,如果这个方法里的数据库操作要被很多场景使用,那么就需要从Service里抽象出DAO方法。

但是,DAO方法,如果输入的条件参数是不确定的,难道要为每种特定参数都写一个DAO方法?那么需要将参数可选话,方法可以仍用一个。这个Mybatis有这方面的支持。

所以,一步步分析下来,感觉从Controller, Service, DAO这一层层都有必要,不可或缺。Mybatis通过配置将DAO封装好了方法供Service调用,省了写很多Java代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值