什么是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包中,作用是传递数据
通常还会增加一个数据库工具类,用于连接数据库和关闭资源等