DAO设计模式是属于Java Web中对数据层的具体操作,使用DAO设计模式可以简化大量代码的编写和增加程序的可移植性,可以很方便在日后对代码的修改。
如果在JSP中使用JDBC操作数据库,那样在JSP中就会嵌入大量的Java代码,显示和逻辑功能的代码混在一起,可读性差,难以维护。
使用DAO设计模式,JSP用来只显示数据,无需关注数据如何获取,从何而来。
DAO设计模式主要有这几个部分:
1、DAO接口;定义所有用户需要的操作抽象方法,如查找、删除、修改、添加等。不过这些抽象方法需要具体的实现类去实现这些方法。
2、DAO实现类;实现DAO接口,实现DAO接口中所有的抽象方法,在DAO实现类中通过数据连接类实现数据库的操作。
3、DAO工厂类;通过DAO工厂类的一个静态方法获得DAO实现类的实例,这里如果要替换DAO实现类,只需要修改DAO工厂类的方法,而不必修改所有的操作数据库的代码。
5、VO类;包含属性与表中的字段完全相对应的类,该类通过setter和getter方法来设置和获取该类的属性。
6、数据连接类;实现数据库的连接和关闭,可以减少重复性操作。
以下为具体的类:
1、数据连接类:
package com.song.DB; import java.sql.*; public class DataBaseConnection { private final String DBDRIVER = "com.mysql.jdbc.Driver"; private final String DBURL = "jdbc:mysql://localhost:3306/test"; private final String DBUSER = "root"; private final String DBPWD = "black"; private Connection conn = null; public DataBaseConnection(){ try{ Class.forName(DBDRIVER); conn = DriverManager.getConnection(DBURL,DBUSER,DBPWD); }catch(Exception e){ System.out.println("数据库加载失败!"); e.printStackTrace(); } } public Connection getConn(){ return this.conn; } public void close(){ try{ this.conn.close(); }catch(Exception e){ e.printStackTrace(); } } }
2、VO类:
package com.song.VO; public class RegisterBean{ private int userID; private String username; private String password; private String email; public int getUserID(){ return this.userID; } public String getUsername(){ return this.username; } public String getPassword(){ return this.password; } public String getEmail(){ return this.email; } public void setUserID(int userID){ this.userID = userID; } public void setUsername(String username){ this.username = username; } public void setPassword(String password){ this.password = password; } public void setEmail(String email){ this.email = email; } }
3、DAO接口:
package com.song.DAO; import com.song.VO.*; public interface RegisterDAO{ public void insert(RegisterBean registerBean)throws Exception; }
时间: 2024-11-14 12:35:26