欢迎来到天天文库
浏览记录
ID:49506081
大小:93.00 KB
页数:16页
时间:2020-02-06
《数据库工厂模式.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、--删除表Droptableperson;--创建表Createtableperson(idvarchar(32)notnullprimarykey,namevarchar(20)notnull,passwordvarchar(20)notnull,agevarchar(32)notnull,emailvarchar(32)notnull);--事务提交Commit;对表进行增、删、改、按ID查询、查询全部、模糊查询。按上述要求,规定出操作此张表的标准,之后只要对不同的数据库实现这些标准即可在Jav
2、a中只有通过接口可以定义出标准,即DAO规定的就是一个接口J2EE组件层次客户端表示层业务层数据层数据库DAO属于数据层的操作,即:在DAO中封装了一个表在项目中的各种操作举例:person表,id、name、password、age定义各种操作:在java中只有通过接口可以定义标准---DAO规定的就是一个接口DAO是DataAccessObject数据访问接口,数据访问:故名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。DAO的功能:1.DAO用来封装DataSource的..就比如,C
3、onnectionconn=DAOFacotry.createConnection()..就可以把Driver.URL.username,passpword这一些放在DAO中,以后要更改数据库的类型.比如要把MSSQL换成Oracle的话..只需要更改DAOFacory里面的getConnection()里面的Driver.URL.之类的..2.DAO也是把对数据库的操作(比如最基本的CRUD操作)全部封装在里面…比如说你要你要插入一个新的用户..那么.在DAO中我们只需要提供一个insertUse
4、r(Useruser)这一个方法就可以了..具体的操作是在DAO中实现的...那么对于要调用DAO的时候.我们只要知道insertUser(User)是用来插入一个新的用户...而不需要知道是如何实现的。一般DAO是与AbstractFactory模式一起来用的...插入,即针对象插入对象,VO、TO、POJO(值对象、传输对象、最根本的Java对象),即只包含属性和getter、setter方法的类客户通过VO去操作DAO,VO的对象与表中的字段完全对应PersonDAO接口packagecn.m
5、y.dao;Importcn.my.vo.*;//定义接口规定出操作person表在此项目里的全部方法publicinterfacePersonDao{//增加操作publicvoidinsert(Personperson)throwsException;//修改操作publicvoidupdate(Personperson)throwsException;//删除操作publicvoiddelete(Stringid)throwsException;//按id查询操作publicPersonque
6、ryById(Stringid)throwsException;//查询全部操作publicListqueryAll()throwsException;//模糊查询操作publicListqueryByLike(Stringcond)throwsException;}VO对象packagecn.my.vo;//值对象,包含属性、setter、getter方法publicclassPerson{privateStringid;privateStringname;privateStringpasswor
7、d;privateintage;privateStringemail;//生成getter、setter方法------}定义好接口后,要定义出接口的实现类,具体实现DAO接口中对数据库表的一切操作packagecn.my.dao.impl;importjava.util;importcn.my.vo.*;importcn.my.dbc.*;//此类需要完成具体的数据库操作,需要JDBC代码,每个方法都需要,因此可定义一个数据库连接类,由数据库连接类统一管理数据库连接,见下页publicclassP
8、ersonDAOImplimplementPersonDAO{//增加操作publicvoidinsert(Personperson)throwsException{Stringsql=“insertintoperson(id,name,password,age,email)values(?,?,?,?,?)”;PreparedStatementpstmt=null;DatabaseConnectiondbc=null;//针对数据库的具体操作try{dbc=newD
此文档下载收益归作者所有