天天看点

Java Dao模式

什么是dao

  dao是data access object数据访问接口,数据访问:故名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。

dao的功能:

  1. dao用来封装data source的..就比如,connection conn = drivermanager.getconnection(...) . . . . . .

就可以把drivermanager. username, passpword这一些放在dao中

以后要更改  数 据 库  的类型.比如要把sql server换成oracle的话..只需要更改dao里面的getconnection()里面的连接字符串之类的..

       2. dao也是把对数据库的操作(比如最基本的更新, 添加等操作)全部封装在里面..

比如说你要你要插入一个新的用户..那么.在dao中我们只需要提供一个insertuser(user user)这一个方法就可以了..具体的操作是在daoimpl中实现的...

那么对于要调用dao的时候.我们只要知道insertuser(user)是用来插入一个新的用户...而不需要知道是如何实现的。

一个典型的 dao 实现有以下组件:

一个 dao 工厂类

一个 dao 接口

一个实现了 dao 接口的具体类

数据传输对象(实体对象 , 比如 pet, dog, penguin 等)

在设计 dao 时,首先要思考以下问题:

程序如何开始?

    程序开始需要干什么?

程序的过程?

程序如何结束?

    程序结束又需要干什么?

dao是否要负责程序的开始和结束

设计dao模式

dao接口: 位于dao包中,  把对数据库操作的所有方法定义在该接口中

dao实现类:位于 dao.impl 包中 , 针对不同的数据库(比如sqlserver , oracle 等不同数据库)给出dao接口中定义的方法的具体实现

实体类: 位于 entity包中,作用是传递数据

通常还会增加一个数据库工具类,用于连接数据库和关闭资源等