java网络编程第4章.ppt
《java网络编程第4章.ppt》由会员分享,可在线阅读,更多相关《java网络编程第4章.ppt(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章DAO程序设计程序设计 课程目标课程目标q实体实体bean的介绍:的介绍:q数据持久化概念数据持久化概念q什么是实体什么是实体bean q数据库访问对象程序设计:数据库访问对象程序设计:qDAO设计模式的好处设计模式的好处q设计模式的实现设计模式的实现q设计模式的使用设计模式的使用 体验项目体验项目 使用下面已经设计好的使用下面已经设计好的DAO实现用户注册功能,运行实现用户注册功能,运行时弹出注册窗体,在文本框中输入相应的信息后,点击时弹出注册窗体,在文本框中输入相应的信息后,点击“确定确定”按钮,会把输入的个人信息添加到数据库中。按钮,会把输入的个人信息添加到数据库中。当点击当
2、点击“确定确定”按钮时,用户信息按钮时,用户信息将被提交到数据库,如果数据添加将被提交到数据库,如果数据添加成功,窗口会弹出成功,窗口会弹出“注册成功注册成功”对对话框,如图所示:话框,如图所示:数据持久化概念数据持久化概念 数据持久化就是将数据(如内存中的对象)保数据持久化就是将数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中或者数据库中,当然也可以存储在磁盘文件中或者XML等文件中。等文件中。什么是实体什么是实体
3、bean 实体实体bean就是数据就是数据bean,在成熟的多层,在成熟的多层面向对象配置当中,可以划分出两种不同面向对象配置当中,可以划分出两种不同的组件配置:的组件配置:应用逻辑组件:这些组件是执行普通任务的提供者。应用逻辑组件:这些组件是执行普通任务的提供者。持久的数据组件:这种对象可以提交给永久性存储器,能持久的数据组件:这种对象可以提交给永久性存储器,能长时间存在,不会随系统的意外中止而消失,并且可以让长时间存在,不会随系统的意外中止而消失,并且可以让多个客户同时访问。多个客户同时访问。数据库访问对象程序设计数据库访问对象程序设计 DAO设计模式的好处设计模式的好处 未使用未使用DA
4、O的早期开发可能会发现以下问题:的早期开发可能会发现以下问题:所有的所有的JDBC代码写在代码写在JSP页面之中,维护困难,如果页面之中,维护困难,如果数据库代码某些地方有问题,那么代码就会有大量的改动。数据库代码某些地方有问题,那么代码就会有大量的改动。JSP中不应该使用任何中不应该使用任何SQL包,即:不应该在包,即:不应该在JSP中直中直接使用接使用java.sql.*,原因是:,原因是:JSP只关注于数据的显示,而只关注于数据的显示,而不关心数据是从哪里来,或向哪里存储,在现实生活中也不关心数据是从哪里来,或向哪里存储,在现实生活中也是一样,例如:公司的业务经理,他只关心他底下的员工是
5、一样,例如:公司的业务经理,他只关心他底下的员工的业绩如何,而不关心员工是怎么做的。在的业绩如何,而不关心员工是怎么做的。在JSP中也一样,中也一样,它只知道去调一些方法以达到它想要的结果,具体实现过它只知道去调一些方法以达到它想要的结果,具体实现过程由程由DAO解决。解决。J2EE的组件层次:的组件层次:客户端客户端表示层表示层业务层业务层数据层数据层数据库数据库DAO属于属于J2EE数据层的操作,即:用数据层的操作,即:用DAO封封装了表在一个项目中所应该具有的全部操作。装了表在一个项目中所应该具有的全部操作。举例:比如说一个图书馆,图书馆可以增加书籍。举例:比如说一个图书馆,图书馆可以增
6、加书籍。要增加之前,应该把一本书给图书馆才可以。这本书要增加之前,应该把一本书给图书馆才可以。这本书就代表实体就代表实体bean对象,当插入时要把对象中的数据插入到对象,当插入时要把对象中的数据插入到数据库中,实体数据库中,实体bean对象也叫(对象也叫(VO、TO、POJO)(值对)(值对象、传输对象、最根本的象、传输对象、最根本的JAVA对象)即:只包含属性和对象)即:只包含属性和set()、get()方法的类,客户通过操作方法的类,客户通过操作VO来操作来操作DAO。设计模式的实现设计模式的实现 数据库脚本的创建代码如下(为了方便,我们直接在数据库脚本的创建代码如下(为了方便,我们直接在
7、pub库里创建此表):库里创建此表):CREATE TABLE person(id varchar(32)not null primary key,name varchar(20)not null,password varchar(20)not null,age varchar(20)not null,email varchar(20)not null);首先需要设计出整个模块之中对首先需要设计出整个模块之中对person表执行的全部操表执行的全部操作,主要有:作,主要有:q增加增加q修改修改q删除删除q按按ID查询查询q查询全部查询全部q模糊查询模糊查询按以上要求,规定出操作按以上要求,规定
8、出操作person表的标准,之后只需针表的标准,之后只需针对于不同的数据库实现这些标准即可。在对于不同的数据库实现这些标准即可。在JAVA中只有通过中只有通过接口才可以定义出标准接口才可以定义出标准DAO规定的就是一个接口。规定的就是一个接口。第一步:定义接口第一步:定义接口接口是用来定义操作的,在这里应该定义:添、删、接口是用来定义操作的,在这里应该定义:添、删、改、查(改、查(ID查、查询全部、模糊查询)等操作。查、查询全部、模糊查询)等操作。import java.util.*;/规定出了操作规定出了操作person表在此项目里的全部方法表在此项目里的全部方法public interfa
9、ce PersonDAO/增加操作增加操作public void insert(Person person)throws Exception;/修改操作修改操作public void update(Person person)throws Exception;/删除操作删除操作public void delete(String id)throws Exception;/按按ID查询操作查询操作public Person queryById(String id)throws Exception;/查询全部查询全部public List queryAll()throws Exception;/模糊
10、查询模糊查询public List queryByLike(String cond)throws Exception;第二步:实体(数据)第二步:实体(数据)bean类类Person.java 实体实体bean就是用来存取数据的类,每个实体就是用来存取数据的类,每个实体bean都应都应该对应数据库中的唯一一张表,但在操作数据库时所收发该对应数据库中的唯一一张表,但在操作数据库时所收发的一些信息通过实体的一些信息通过实体bean中的中的get()、set()方法来实现。方法来实现。public class Personprivate String id;private String name;p
11、rivate String password;private int age;private String email;/getter()、setter()方法方法这个类用来实现前端和数据库之间的数据传递这个类用来实现前端和数据库之间的数据传递第三步:数据库连接类第三步:数据库连接类DataBaseConnection.java 因为添、删、改、查都需要连接数据库,所以把连接数据库的代码单独因为添、删、改、查都需要连接数据库,所以把连接数据库的代码单独提出来生成一个类,这个类主要实现两个功能,即:连接数据库、关闭数据提出来生成一个类,这个类主要实现两个功能,即:连接数据库、关闭数据库。主要代码
12、如下:库。主要代码如下:public DataBaseConnection()tryClass.forName(DBDRIVER);this.conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);catch(Exception e)/取得数据库连接取得数据库连接public Connection getConnection()return this.conn;/关闭数据库连接关闭数据库连接public void close()trythis.conn.close();catch(Exception e)第四步:第四步:PersonD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 网络 编程
限制150内