使用DAO对MVC进行扩展(简易留言板例子)

        MVC模式是java bean+Servlet+JSP,但是MVC中的Servlet里还有与数据库做数据交换的代码。Servlet是做业务控制用的,在Servlet里加入数据库代码不利于分工,而DAO模式就很好地解决了这一问题,让MVC中的数据层和控制层分离开,数据层只需要提供一个接口,控制层调用接口来获取数据,从而方便写业务控制代码。让精于业务控制的人员不必面对ResultSet而发愁,可以专注于业务控制。DAO模式的结构如下:

1、PO类

        po(persistent object),可持久化对象。即MVC中的java bean,用于保存实体类的属性和每个属性的get、set方法。这点跟MVC没什么差别

2、DAO接口

        这是一个接口,里面声明了所有与数据库进行数据交换的函数,这些接口可以供流程控制人员调用,这个接口隐藏了与数据库进行数据交换的细节,实现了数据层和控制层的分离。我们需要将留言板中需要用到的函数在这个接口中声明出来。

3、DAO实现类

        这个类中实现了上面说的DAO接口,实现了所有声明的方法,也就是说,与数据库的数据交换发生在这个类中。我们需要将原来MVC中Servlet里的与数据库做数据交换的代码放进这个类里。

4、DAO工厂类

        在没有DAO工厂类的时候,我们都需要new一个DAO实现类的实例才能调用里面的方法,这样其实也是非常不方便的。DAO工厂类提供了一个可以获得DAO实现类的实例的方法。例如在这个留言板中,我有用户模块、留言模块、评论模块,所以我有三个DAO接口,3个DAO实现类。于是我在工厂类中定义了三个静态方法,分别获取三个DAO实现类的实例。

5、数据库连接类

        在这个类里定义了获取数据库连接Connection的方法和关闭数据库连接的方法。并将这两个方法定义为static类型,这样就可以通过类名直接调用了。

在完成了这几个部分之后,DAO模式基本就实现了。

这里是我用DAO模式实现的简易论坛留言板:https://github.com/QMXDD/JSP-MessageList

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值