DAO设计模式---实现一个简单的注册(上)

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

DAO设计模式---实现一个简单的注册(上)的相关文章

DAO设计模式---实现一个简单的注册(下)

6.DAO工厂类: package com.song.DAOFactory; import com.song.DAO.RegisterDAO; import com.song.Impl.RegisterImpl; public class RegisterFactory{ public static RegisterDAO getRegisterDAOInstance(){ return new RegisterImpl(); } } 7.一个servlet实现控制: package com.s

DAO设计模式---实现一个简单的注册(中)

4.DAO接口实现类: package com.song.Impl; import java.sql.*; import com.song.DAO.RegisterDAO; import com.song.VO.RegisterBean; import com.song.DB.*; public class RegisterImpl implements RegisterDAO{ public void insert(RegisterBean registerBean)throws Except

jdbc-用eclipse做一个简单的注册模块,数据传不到数据库中

问题描述 用eclipse做一个简单的注册模块,数据传不到数据库中 用eclipse做一个简单的注册模块,输入用户名和密码,选择性别,按提交,将数据写如数据库,运行时出现的错误: HTTP Status 500 - javax.servlet.ServletException: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'UserName' cannot be null 有

Python实现一个简单的能够上传下载的HTTP服务器

这篇文章主要介绍了用Python实现一个简单的能够上传下载的HTTP服务器,是Python网络编程学习当中的基础,本文示例基于Windows操作系统实现,需要的朋友可以参考下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 5

java-jsp+servlet写了一个简单的注册,但是出现找不到页面

问题描述 jsp+servlet写了一个简单的注册,但是出现找不到页面 小菜鸟刚写了一个简单的注册页面,但是配置好servlet以后出现找不到页面,找了好长时 间没有发现问题在哪里,希望有明白的给解释解释 解决方案 你写的是相对路径 ,一般用绝对路径 form 在 项目/page 下找相应页面,你的servlet 是映射在 项目/ 下的 你可以 在form 的action 改为 ../addUser 试试 解决方案二: 看看这个: 路径总结: 路径分为两种情况: 1.客户端路径 ==> 给浏览器

mfc-用MFC做一个简单的文件上传的程序 ,上传过程中的暂停和继续怎么实现?

问题描述 用MFC做一个简单的文件上传的程序 ,上传过程中的暂停和继续怎么实现? rt 解决方案 能不能中断和继续取决于服务器怎么实现的,服务器必须具有分块接收上传文件的能力. 解决方案二: 你要把你的主要实现和主界面分开,就是用多线程,一个线程用于处理数据,主界面线程用于显示和接受用户操作,当用户按开始按钮时,开启处理线程,暂停时暂停处理线程,继续时再唤醒处理线程就行了. 解决方案三: java Web && 文件上传--简单实现

checkbox-刚学完JS和servlet,写一个简单的注册登录页面

问题描述 刚学完JS和servlet,写一个简单的注册登录页面 ,想把checkbox选中的的数据和下拉列表选中的的年月日组合成字符串发送给servlet,该怎么做,求大神指教 解决方案 username: password: 表单 action 对应的servlet method 提交方式,对应servlet的doPost和doGet方法 在servlet中写 req.getParameter("username"); req.getParameter("password&

初学java,自己用java写了一个简单的注册登录程序,没报错但有问题,希望能帮忙指点。

问题描述 初学java,自己用java写了一个简单的注册登录程序,没报错但有问题,希望能帮忙指点. import java.util.Scanner; class Yanzheng{ private String n; private String p; public void setNa(String na){ this.n = na; } public void setPa(String pa){ this.p = pa; } public String getNa(){ return n;

CodeIgniter创建一个简单的注册系统

CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包.它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发.使用 CodeIgniter 可以减少代码的编写量,并将你的精力投入到项目的创造性开发上. CodeIgniter是由Ellislab公司的CEO RickEllis开发的.其核心框架是为这个程序特别编写的,而其他很多类库.辅助函数和子系统则来自于RickEllis和PaulBurdick编写的内容管理系统Expression