基于接口的分层实现

 

摘要:通过本文简述基于接口编程的优势,给一些初学者在面向接口编程与系统架构分层方法予以启示,同时,也帮助自身复习下 JDBC 相关操作。

 

下面直接切入主题,这里主要利用一个较为简单的基于 JDBC 数据库操作的示例来说明问题。首先来描述下分层概况:(一) DAO 层或者叫数据访问层吧,主要是用于数据持久化操作。(二)业务逻辑层或者称之为 Service 层吧,顾名思义操作业务逻辑相关内容。(三)其实这里还应该有一层表示层,就是用来进行数据显示的,在此我直接把它给忽略了,把测试层(我暂且这么称呼)数据显示当表示层用,主要是为了简化操作。(四)最后,还有一个贯穿三层的模型层,主要用于数据的封装与传输。见图

层对层自己都直接提供了接口,而并非直接调用具体的接口实现类。这样带来的好处是什么呢,就是说修改任意某层的代码基本上不会影响到其它层代码的改动,这就是抽象带来的好处。对于DAO数据库层,我在例子中默认采用了JDBC实现,同时又简单地写了一个Hibernate方式的实现。而对于这两种方式的改动,只需要修改配置文件就可以了,而不需要去修改原来JDBC的实现以及其它层的代码。而这种优势对于其它另外的层也一样,在此以DAO数据访问层为例。

 

开发工具:Eclipse 3.x Mysql5.1

 

工程文件说明:见图

(1)org.wiki.jdbc.dao 存放了DAO数据访问层的接口及具体实现类,包括JDBC与Hibernate实现(伪实现),属数据库层;

(2)org.wiki.jdbc.domain 存放领域模型对象,属模型层;

(3)org.wiki.jdbc.exception存放相应的异常类;

(4)org.wiki.jdbc.factory存放用于生成相应DAO实现的工厂类;

(5)org.wiki.jdbc.service存放业务逻辑接口及具体实现类,属业务层;

(6)org.wiki.jdbc.test存放相关测试类,暂且称表示层;

(7)org.wiki.jdbc.utils存放JDBC数据库操作的相关工具类;

(8)jdbc.properties数据库及DAO具体实现类配置信息;

(9)lib存放数据库操作的jar

(10)db存放数据库可能用到的SQL

 

源码使用方法:下载源码解压导入eclipse修改jdbc.properties数据库配置信息,利用Mysql创建相应数据库(默认jdbc,表名user)就可以运行了。

 

 

参考:传智播客关于JDBC的视频http://www.itcast.cn/

 

用惯了Hibernate之类的ORM框架发现最基本的JDBC有些遗忘了,所以在回头复习下……

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值