DAO设计模式:

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

 

2、DAO各部分详解

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

(1)、数据库连接和关闭工具类;

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

Package com.demo.dao1  
 
Import java.sql.*;  
 
Public class DataBaseConnection{  
 
      Private final String DBDRIVER = “com.mysql.jdbc.Driver”;  
 
      Private final String DBURL = “jdbc:mysql://localhost:3306/sql_w”;  
 
      Private final String DBUSER = “root””;  
 
      Private final String DBPASSWORD = “root”;  
 
      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即ValueObject也就是值对象,是一个包含属性和表中字段完全对应的类,并在该类中提供setter和getter
方法来设置并获取该类中的属性。例:

Package com.demo.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.demo.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 ById(int userid)throw Exception;  
 
      Public List All()throw Exception;  
 
}

(4).DAO实现类:

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

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

(1)、添加记录:

(2)、更新记录:

(3)、删除记录:

(4)、查询记录:

jdbc/DAO模式的更多相关文章

  1. jdbc之二:DAO模式

    详细代码请参见 https://code.csdn.net/jediael_lu/daopattern 1.创建Dao接口. package com.ljh.jasonnews.server.dao; ...

  2. jdbc之二:DAO模式 分类: B1_JAVA 2014-04-29 15:13 1536人阅读 评论(0) 收藏

    详细代码请参见 https://github.com/lujinhong/dao 一.前期准备 1.创建数据库 create database filter_conf; 2.创建表并插入数据 crea ...

  3. JDBC—DAO

    一.JDBC 什么是JDBC?JAVA DataBase Connectivity (Java 数据库连接技术)由Java编写的一组类和接口组成,为各种类型的数据库提供统一的访问.JDBC的作用?一种 ...

  4. Java Dao模式通过JDBC连接数据库的操作

    Java程序访问数据库: 1.获取数据库厂商提供的驱动(jdbc接口的实现类) 如ojdbc14.jar——Oracle数据库驱动jar包 mysql-connector-java-5.1.8-bin ...

  5. 2、原生jdbc的dao模式

    一.dao模式 (data access object)1.作用:持久层,专门操作数据的层次结构,不掺杂任何的业务和其他内容2.dao组成部分: a.数据库工厂类 b.数据实体类 javabean p ...

  6. Javaweb学习笔记——(十七)——————JDBC的原理、四大核心类、四大参数、预编译、Dao模式、批处理、大数据、时间类型的转换

    JDBC入门 *导入jar包:驱动 *加载驱动类:Class.forName("类名"); *给出url.username.password,其中url背下来 *使用DriverM ...

  7. 数据持久化以及DAO模式的简单使用

    持久化:(是将程序中的数据在瞬时状态和持久状态间转换机制)        即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘).持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然 ...

  8. java数据库编程之DAO模式

    第八章:DAO模式 8.1:JDBC封装 为了提高代码的维护性和扩展性,我们使用JDBC进行封装数据, 先定义统一的API,将操作数据的代码抽象到接口中,业务逻辑代码只需要调用这些接口的实现类的对象, ...

  9. 第七章 DAO模式

    第七章 DAO模式 一.JDBC的封装 1.JDBC的封装: DAO位于业务逻辑和持久化数据之间,实现对持久化数据的访问.将数据库都封装起来,对外提供相应的接口 2.DAO模式的作用: 1.隔离业务逻 ...

随机推荐

  1. LeetCode Rotate List

    struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; class Solution ...

  2. JavaScript Module Pattern: In-Depth

    2010-03-12 JavaScript Module Pattern: In-Depth The module pattern is a common JavaScript coding patt ...

  3. Spark源码学习1.7——Master.scala

    master第一步是加载系统定义的环境变量,如worker的超时时间.系统保留的Application数目等:第二步,加载worker的信 息,地址.id等:第三步,加载Application的信息, ...

  4. php生成html文件的多种方法介绍

    我经常会在网上看到有人问怎么将整个动态的网站静态化,其实实现的方法很简单.  代码如下 复制代码 <?php//在你的开始处加入 ob_start(); ob_start(); //以下是你的代 ...

  5. 好文mark

    用oracle的dblink连接mysql. http://f.dataguru.cn/thread-267150-1-1.html hadoop的机架感知: 本地化策略,以及备份都要知道哪个节点在哪 ...

  6. 【转】IP协议详解之子网寻址、子网掩码、构造超网

    子网寻址 1. 从两级IP地址到三级IP地址 <1>. IP地址利用率有时很低. <2>. 给每一个物理网络分配一个网络号会使路由表变得太大而使网络性能变坏. <3> ...

  7. NOIP 考前 数论复习

    POJ 2891 x=r1 (mod a1) x=r2 (mod a2) x=a1*x+r1,x=a2*y+r2; a1*x-a2*y=r2-r1; 用Extend_Gcd求出m1*x+m2*y=d; ...

  8. void 关键字

    1. void 的字面意思为“无类型”,void*为“无类型指针”,void*可以指向任何类型的数据 2 用于数据类型封装,典型的如内存操作函数 memcpy 和 memset 的函数原型分别为: v ...

  9. Linux装无线驱动

  10. Native VS React Native VS 微信小程序

    随着React Native和 微信小程序的出现,Native一家独大的局面出现裂痕,很多小公司使用已经正在着手微信小程序和React Native了,我公司就已经走上React Native之路.那 ...