开发者社区> 问答> 正文

java的service直接和dao层打交道好吗

1,比如说分三层的话,service中有注入的dao,这时候有一个BaseDao接口,很多实体Dao继承BaseDaoImpl之后,这些实体Dao具体的操作基本就是增删改查,所以只要在BaseDaoImpl实现即可,具体的实体DaoImpl基本都是空的。

但是我看到一种做法,就是service直接继承一个DaoSupportImpl,直接在service对数据库进行操作。

我倾向于第一种。第二种写法规范吗???

或者还有什么更好的做法

展开
收起
a123456678 2016-03-17 14:54:52 2210 0
1 条回答
写回答
取消 提交回答
  • 业务层与数据库访问层耦合度太高的话肯定对后期更改有影响,而且可扩展性实在太低。打个简单的比方,就像刚学java,你可能会写if else,所以导致你在添加一个业务逻辑的时候,你就必须再添加一个if else。如果你一开始的时候就会使用反射,关系映射的话,那么你只需要每添加一个业务逻辑,让其实现特定的接口或继承特定的类的话。你完全可以无限水平扩展,而不更改任何业务逻辑调用的方法。此处如果不是很明白,请参考SpringMVC的动态请求(浏览器输入请求URL,服务器动态的根据数据的请求RUL找到对应的控制器)

    2019-07-17 19:05:25
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载