zoukankan      html  css  js  c++  java
  • DAO模式

    DAO设计模式:

    1、DAO简介:

          DAO设计模式是属于J2EE数据层的操作,使用DAO设计模式可以简化大量代码,增强程序的可移植性。

    2、DAO各部分详解:

    DAO设计模式包括以下5个主要部分:

    (1)、数据库连接类;

          数据库连接类的主要功能是连接数据库并获得连接对象,以及关闭数据库。通过数据库连接类可以大大的简化开发,在需要进行数据库连接时,只需常见该类的实例,并调用其中的方法就可以获得数据库连接对象和关闭数据库,不必再进行重复操作。例:

    Package com.javaweb.dao1
    
    Import java.sql.*;
    
    Public class DataBaseConnection{
    
          Private final String DBDRIVER = “com.mysql.jdbc.Driver”;
    
          Private final String DBURL = “jdbc:mysql://localhost:3306/javaweb”;
    
          Private final String DBUSER = “root””;
    
          Private final String DBPASSWORD = “585762”;
    
          Private Connection conn = null;
    
          Public DataBaseConnection(){
    
                 Try{
    
                        Class.forName(DBDRIVER);
    
                        This.conn =
    
                                     DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
    
                 }catch(Exception e){
    
                        System.out.println(“加载数据库驱动失败!”);
    
                 }
    
          }
    
          Public Connection getConnection(){
    
                 Return conn;
    
          }
    
          Public void close(){
    
                 Try{
    
                        Conn.close();
    
                 }catch(){
    
                        System.out.println(“数据库连接关闭失败!”);
    
                 }
    
          }
    
    }
    
    

    (2)、VO类:

          VO类是一个包含属性和表中字段完全对应的类,并在该类中提供setter和getter方法来设置并获取该类中的属性。例:

    Package com.javaweb.dao1
    
    Public classs User{
    
          Private int userid;
    
          Private String username;
    
          Private String password;
    
          Public int getUserid(){
    
                Return userid;
    
          }
    
          Public void setUserid(int userid){
    
                 Return userid;
    
          }
    
          Public String getUsername(){
    
                Return username;
    
          }
    
          Public void setUsername(String username){
    
                 Return username;
    
          }
    
          Public String getUserpassword(){
    
                Return userpassword;
    
          }
    
          Public void setUserid(String userpassword){
    
                 Return userpassword;
    
          }
    
    }
    
    

    (3)、DAO接口:

          DAO接口中定义了所有的用户操作,如添加记录、删除记录及查询记录等。不过因为是借口,所以仅仅是定义,需要子类实现。例:

    Package com.javaweb.dao1;
    
    Import java.util.*;
    
    Public class UserDAO{
           public void insert(User user)throw Exception;
    
          Public void update(User user)throw Exception;
    
          Public void delete(int userid)throw Exception;
    
          Public User queryById(int userid)throw Exception;
    
          Public List queryAll()throw Exception;
    
    }
    
    

    (4)、DAO实现类:

          DAO实现类实现了DAO接口,并实现了接口中定义的所有方法。

    (5)、DAO工厂类:

          在没有DAO工厂类的情况下,必须通过创建DAO实现类的实例才能完成数据库操作。这时就必须知道具体的子类,对于后期的修改非常不方便。

          使用DAO工厂类,可以比较方便地对代码进行管理,而且可以很好地解决后期修改的问题,通过该DAO工厂类的一个静态方法来获取DAO实现类实例。这时如果要替换DAO实现类,只需要修改该Dao工厂类中的方法代码,而不必邀修改所有的操作数据库代码。例:

    Package com.javaweb.dao1;
    
    Public class DAOFactory{
    
          Public static UserDAO getUserDAOInstance(){
    
                 Return new UserDAOImpl();
    
          }
    
    }
     

    3、使用DAO完成数据库操作:

    (1)、添加记录:

    (2)、更新记录:

    (3)、删除记录:

    (4)、查询记录:

     
     
  • 相关阅读:
    LeetCode120 Triangle
    LeetCode119 Pascal's Triangle II
    LeetCode118 Pascal's Triangle
    LeetCode115 Distinct Subsequences
    LeetCode114 Flatten Binary Tree to Linked List
    LeetCode113 Path Sum II
    LeetCode112 Path Sum
    LeetCode111 Minimum Depth of Binary Tree
    Windows下搭建PHP开发环境-WEB服务器
    如何发布可用于azure的镜像文件
  • 原文地址:https://www.cnblogs.com/hoobey/p/5426687.html
Copyright © 2011-2022 走看看