DAO设计模式
1: 为什么使用DAO?
a: 在涉及数据库操作,以前一般使用jdbc,使用这种方法我们会发现代码和html标签同时使用,维
护很困难。
b:jsp文件中不应该出现任何sql包,jsp文件侧重于显示界面的。
c:所有的数据库操作建议使用prepareStatement。好处重在避免sql注入漏洞。
2:DAO是J2EE中的数据层操作。
3:数据库创建脚本
--删除表
DROP TABLE person;
--创建表
CREATE TABLE person
(
id varchar(20) notnullprimary key,
name varchar(20) notnull,
password varchar(20) notnull,
age varchar(20) notnull,
email varchar(30) notnull
);
--事务提交
commit;
4:如果在数据库修改后,我们怎么样才能做到前台页面不需要太多的改变?
我们必须规定出对PERSON中的全部操作。比如增删查改。
按照以上要求,制定出操作那张表的标准,之后只要针对不同的数据库实现这些标准就可以了。 在java
中我们可以通过接口来实现----》DAO规定的就是这些接口。
packagecom.nnu.djx.dao;
importcom.nnu.djx.vo.*;
importjava.util.*;
//规定了在此项目中操作person表的全部方法
publicinterfacePersonDao
{
/** *//***//** *//**
* 插入对象
*@throwsException
*/
publicvoidinsert(Person person)throwsException;
/** *//***//** *//**
* 更新对象
*@throwsException
*/
publicvoidupdate(Person person)throwsException;
/** *//***//** *//**
* 删除某一对象
*@paramid
*@throwsException
*
*/
publicvoiddelete(String id)throwsException;
/** *//***//** *//**
* 按照ID查询
*@paramid
*@return
*@throwsException
*
*/
publicPerson queryById(String id)throwsException;
/** *//***//** *//**
* 查询全部结果
*@return
*@throwsException
*/
publicList queryAll()throwsException;
/** *//***//** *//**
* 模糊查询
*@paramcode
*@return
*@throwsException
*/