Dao层和Service层

在Java web项目开发中,会创建dao层和service层,dao层也是数据访问层,主要实现与数据库之间的数据交互逻辑;service层是业务层,主要实现项目业务的逻辑。更加直白的说,在dao层我们只需要关心数据库的操作,每张数据库表对应一个Dao对象,Dao对象来实现对数据库的查询、更新等操作;而Service层可以同时对多个Dao对象进行操作;当然从实现的角度而言,可以将Dao层实现的功能放在Service层实现,但这样会带来一些问题,如会经常修改业务层的代码,会将业务与对象紧耦合。因为在业务层中是不应该含有具体对象,最多只能有引用,如果有具体对象存在,就耦合了。

以SSH框架中实现的用户模块:

  1. 假设现在存在两个数据库表,user表和权限表,前端页面访问action,action再去调用用户模块service,用户模块service会判断你是操作user表还是权限表,如果操作的是user表则service类就去调用userDAO。如果操作的是权限表则调用权限的DAO;
  2. 即DAO一定是和数据库的每张表一一对应,而service则不是。其实你一个项目一个service和一个DAO其实也一样可以操作数据库,如果操作的表非常多,出问题了,那找起来多麻烦,而且太乱了;
  3. 好处就是你的整个项目非常系统化,和数据库的表能一致,而且功能模块化,这样以后维护或者改错比较容易,性能也高一些
DAOService是软件开发中常见的两个次。其中,DAO是数据访问Service是业务逻辑。下面详细解释两者的区别和作用。 DAO(数据访问DAO全称为Data Access Object,是数据访问对象。它是负责数据访问和持久存储的一,主要用于和数据库进行交互。在DAO中,开发人员通常会定义一些接口,这些接口定义了与数据库相关的操作方法,比如查询、增、删、改等。接着,开发人员会根据需要实现这些接口,以便具体的业务逻辑可以调用这些方法来操作数据库。 DAO的作用是将数据访问操作和业务逻辑分离开来,使得业务逻辑无需关心具体的数据库操作。这样,当数据库发生变化时,业务逻辑不需要做任何改动,只需要修改DAO的实现即可。 Service(业务逻辑Service是业务逻辑,它是连接DAO和Controller的中间。在Service中,开发人员会定义一些接口,这些接口定义了业务逻辑相关的操作方法,比如用户注册、登录、查询等。接着,开发人员会根据需要实现这些接口,以便具体的Controller可以调用这些方法来进行业务逻辑操作。 Service的主要作用是处理业务逻辑,将DAO提供的数据操作方法组合成具体的业务逻辑。同时,在Service中也可以进行一些数据校验、数据转换等操作。Service可以看做是一个业务逻辑的集合,将多个DAO操作组合成一个完整的业务流程。因此,Service的设计需要考虑业务逻辑的复杂性和可重用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值