`
miracle9i
  • 浏览: 35733 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

DAO设计模式

阅读更多

java中的DAO模式是一个重要的概念,下面以一个登陆程序的例子,结合地理解DAO模式。

DAO模式的主要构成有:

1. PO包
   PO对象,用于存储映射数据库表的对象
package i9.m.po ;
// 值对象,包含属性,setter,getter方法
public class Person
...{
    
private String name ;
    
private String password ;

    
// 生成getter、setter方法
    public void setName(String name)
    
...{
        
this.name = name ;
    }

    
public void setPassword(String password)
    
...{
        
this.password = password ;
    }

    
public String getName()
    
...{
        
return this.name ;
    }

    
public String getPassword()
    
...{
        
return this.password ;
    }

这里假定传入的只有name和password两个属性,po实质上就是一个简单的JAVABEAN

2.DAO包
(1)一个connection类:管理数据库的连接对象:
package i9.m.dao;
import java.sql.*;

public class DBConnection ...{
    
private final String driver="com.mysql.jdbc.Driver";
    
private final String url="jdbc:mysql://localhost:3306/newsdata";
    
private final String user="root";
    
private final String pwd="root";
    
    
private Connection conn;
    
    
public DBConnection()
    
...{
            
try ...{
                Class.forName(driver);
                
this.conn =  DriverManager.getConnection(url,user,pwd);
            }
 catch (ClassNotFoundException e) ...{
                
// TODO 自动生成 catch 块
                e.printStackTrace();
            }
 catch (SQLException e) ...{
                
// TODO 自动生成 catch 块
                e.printStackTrace();
            }
    
        
    }

    
    
public Connection getConnection()
    
...{
        
return this.conn;
    }

    
    
public void close()
    
...{
        
try ...{
            
this.conn.close();
        }
 catch (SQLException e) ...{
            
// TODO 自动生成 catch 块
            e.printStackTrace();
        }

    }

}
(2)一个接口:规定对特定的数据的存取接口
package i9.m.dao;
import i9.m.po.*;
import java.util.*;

public interface IPersonDAO ...{
    
    
public void insert(Person person) throws Exception;
    
    
public void update(Person person)throws Exception;
    
    
public List queryAll() throws Exception ;
    
    
public Person queryByID(String id) throws Exception;
    
    
public void delete(String id)throws Exception;
}
(3)一个接口的实现类:实现具体的数据库存取操作
/** *//**design by Miracle9i @2007-11-13
 * 
 
*/

package i9.m.dao;
import java.util.*;
import java.sql.*;
import i9.m.po.*;

/** *//**
 * design by Miracle9i @2007-11-13
 *
 
*/

public class PersonDAOImple implements IPersonDAO...{
    
    
public void insert(Person person) throws Exception
    
...{
        String name 
= person.getName();
        String pwd 
= person.getPassword();
        PreparedStatement pstmt 
= null;
        DBConnection dbc 
= null;
        String sql 
= "insert into admins (id,username,password) values (?,?,?)";
        
        
try ...{
            dbc 
= new DBConnection();
            pstmt 
= dbc.getConnection().prepareStatement(sql);
            pstmt.setString(
1, name);
            pstmt.setString(
2, pwd);
            pstmt.executeUpdate();
        }
 catch (RuntimeException e) ...{
            
// TODO 自动生成 catch 块
            e.printStackTrace();
        }

        
finally
        
...{
            pstmt.close();
        }

        
        
    }

    
    
public void update(Person person)throws Exception
    
...{
        String name 
= person.getName();
        String pwd 
= person.getPassword();
        PreparedStatement pstmt 
= null;
        DBConnection dbc 
= null;
        String sql 
= "update admins set id=?,username=?,password=?";
        
        
try ...{
            dbc 
= new DBConnection();
            pstmt 
= dbc.getConnection().prepareStatement(sql);
            pstmt.setString(
1, name);
            pstmt.setString(
2, pwd);
            pstmt.executeUpdate();
        }
 catch (RuntimeException e) ...{
            
// TODO 自动生成 catch 块
            e.printStackTrace();
        }

        
finally
        
...{
            pstmt.close();
        }


        
    }

    
    
public List queryAll() throws Exception 
</di>
分享到:
评论

相关推荐

    DAO设计模式 DAO 设计模式 JAVA设计模式

    DAO(Data Access Object)设计模式是软件开发中一种常见的用于处理数据访问的模式,它将业务逻辑与数据访问逻辑分离,使得代码结构更加...因此,深入理解并灵活运用DAO设计模式对于提升Java应用程序的质量至关重要。

    DAO设计模式DAO设计模式

    ### DAO设计模式详解 #### 一、概述 数据访问对象(Data Access Object,简称DAO)设计模式是一种在软件工程特别是企业级应用开发中非常常见的设计模式。它的主要目的是分离业务逻辑与数据访问逻辑,使系统架构...

    DAO设计模式辅助资料

    这个压缩包文件"DAO设计模式辅助资料"显然是为了帮助开发者更好地理解和应用DAO模式。下面,我们将深入探讨DAO设计模式的核心概念、实现方式以及它在实际开发中的应用。 DAO设计模式的基本思想是为数据库操作创建一...

    JSP+Servlet+AJAX的dao设计模式

    **JSP+Servlet+AJAX DAO设计模式详解** 在Web开发中,DAO(Data Access Object)设计模式是一种常用的设计模式,用于将业务逻辑与数据访问层进行解耦,提高代码的可维护性和可复用性。本篇我们将深入探讨如何在JSP...

    基于DAO设计模式的新闻发布系统

    在这个基于DAO设计模式的新闻发布系统中,我们可以深入探讨以下几个核心知识点: 1. DAO设计模式:DAO模式的核心思想是创建一个接口,该接口定义了对数据存储的通用操作,然后实现这个接口以处理具体的数据库交互。...

    DAO设计模式(工厂+代理)

    在这个“DAO设计模式(工厂+代理)”的例子中,我们将探讨如何结合工厂模式和代理模式来实现更灵活、更易于维护的DAO层。 首先,让我们理解DAO的基本概念。DAO是一个接口或抽象类,定义了对数据库进行操作的方法,...

    Dao设计模式

    DAO设计模式是Java开发中常用的一种数据访问模式,它将底层数据访问操作与上层业务逻辑相分离。这一模式的目的在于封装所有对数据源的访问,并提供抽象接口,使得业务逻辑层与数据访问层解耦,从而降低业务代码与...

    J2EE学习笔记--DAO设计模式基础.txt

    ### J2EE学习笔记——DAO设计模式基础 #### 一、引言 在J2EE(Java 2 Enterprise Edition)开发中,DAO (Data Access Object) 设计模式是一种常用的数据访问层实现方式,用于分离业务逻辑与数据访问逻辑,使得程序...

    李兴华 DAO设计模式 实现 增删改查 分页查询 完整代码

    在这个“李兴华 DAO设计模式 实现 增删改查 分页查询 完整代码”项目中,我们将探讨DAO模式如何应用于实现数据库的CRUD(创建、读取、更新、删除)操作以及分页查询。 1. DAO设计模式基础: DAO设计模式的核心是...

    DAO设计模式精讲(java web开发)

    在本精讲中,我们将深入探讨DAO设计模式的原理、实现方式以及在实际项目中的应用。 **DAO设计模式的核心思想** DAO设计模式的核心是创建一个接口,该接口定义了对数据库进行操作的方法,如查询、插入、更新和删除...

    Dao设计模式教程

    在本教程中,我们将深入探讨DAO设计模式的各个方面,包括其概念、优点、结构以及如何在实际项目中应用。 1. **DAO设计模式的概念** DAO设计模式是一种面向对象的设计模式,用于处理应用程序和数据存储之间的交互。...

    WEB开发经典之 DAO设计模式

    **DAO设计模式详解** 在Web开发中,DAO(Data Access Object)设计模式是一种常见的用于分离业务逻辑层与数据访问层的架构模式。DAO的主要目的是为了提供一个统一的接口,使得业务逻辑组件可以与数据库交互而无需...

    初步认识JAVA DAO设计模式

    总结来说,DAO设计模式在Java开发中扮演着重要的角色,尤其是在处理数据持久化问题时,它提供了一种灵活且可扩展的方式来管理数据访问,降低了系统的复杂性,提高了代码的可维护性。通过将数据访问逻辑封装在DAO中,...

    Java DAO 设计模式.pdf

    #### 一、DAO设计模式的概念 **DAO**(Data Access Object)设计模式是一种在Java EE环境中广泛使用的数据访问模式,它主要应用于处理数据存储组件的交互。这种模式的主要目的是将底层数据访问操作与业务逻辑分开,...

    初步认识JAVA+DAO设计模式.pdf

    本文将详细讲解JAVA+DAO设计模式的概念、原理和实现。 DAO 设计模式背景 在软件开发中,数据持久化是一个非常重要的步骤。不同的数据源会有不同的访问机制和API,这使得程序的开发和维护变得非常复杂。例如,在...

    JavaEE技术-DAO设计模式

    DAO设计模式是JavaEE中用于数据层操作的一种模式,其核心目的是简化代码编写、提高可移植性,以及实现更好的代码维护和可读性。在没有使用DAO设计模式之前,数据库操作通常直接在JSP页面中使用JDBC代码,或者通过...

    Java Dao设计模式操作数据库

    Java DAO(Data Access Object)设计模式是一种常用的软件设计模式,用于在Java应用程序中与数据库进行交互。DAO模式的主要目的是为了实现数据访问层的隔离,它将业务逻辑与数据存储细节分离开来,使得代码更加模块...

Global site tag (gtag.js) - Google Analytics