DAO设计 :
DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。
在该层主要完成对象-关系映射的建立,通过这个映射,再通过访问业务对象即可实现对数据库的访问,使得开发中不必再用SQL语句编写复杂的数据库访问程序,这样就简化了对数据库的访问,提高了开发效率。同时通过对象-关系映射的配置,可以建立业务对象之间的复杂关系,如一对多、多对一、一对一、多对多等关系。这样就不再需要在数据库中建立表之间的复杂联系,使得业务对象之间的关系和数据库相分离,简化了数据库的建立和维护。在这一层中主要使用Hibernate框架来实现。
针对以上问题,产生了基于MVC模式Model层的DAO模式(Data Access Object),主要由工厂类(Factory)、代理类(Proxy)、实现类(DAOImpl)、DAO接口和值对象类(VO)以及数据库连接类组成。
这里总结一下MVC+DAO的设计流程。通过MVC+DAO的设计模式,可以使项目在设计过程中结构更为明晰,并且能够方便的进行修改。MVC是一个分层模型,即模型、视图、控制器。DAO是一个数据库访问模型,隔离数据库操作。
环境说明:
数据库:mysql
开发语言:JSP + Servlet + Java
服务器:tomcat 7.x
包规划:
entity 放置与数据库中的表相对应的实体类
dao 放置DAO设计模式下实现访问数据库的接口
dao.impl 放置DAO对应的接口实现类
servlet 放置Servlet
util 工具包
设计流程综述:
0.设计数据库以及视图页面(VIEW)
1.设计数据库的工具类
2.设计符合java bean标准的entity类 (MODEL)
3.设计访问数据库的DAO接口
4.设计实现DAO接口的实现类
5.创建Servlet响应请求(CONTROLLER)
例子:以一个简单的登录页面设计为例
0.设计数据库以及视图页面
数据库设计:
CREATE TABLE `NewTable` (
`id` int(10) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT ,
`name` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
`password` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
PRIMARY KEY (`id`)
)
页面视图:
index.jsp的核心代码如下:
username | |
---|---|
password | |
核心代码就是一个f