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. Python基础知识之排序法

    在Python开发中,我们会经常使用到排序法,排序的最简单的方法是用sort(list)函数,它接受一个列表并返回与有序的元素一个新的列表. 原始列表不被改变. a = [5, 1, 4, 3]    ...

  2. Python中为feedparser设置超时时间教程

    python有一个用于解析feed的模块:feedparser,feedparser解析各种feed是非常方便的,唯一比较恼火的是遇到一些badurl,经常会导致堵塞,因此需要为feedparser设 ...

  3. Mac下使用firefoxdriver

    Mac使用Firefox浏览器只需要设置WebDriver driver = new FirefoxDriver(),不需要安装firefoxdriver,前提是你的Firefox被安装在默认的位置. ...

  4. 回头再看N层架构(图解)

    不知不觉来博客园已经快两半了,时间过的真快. 这次的目标是再回顾一下传统的N层架构并且分析一下在DDD中的N层架构. 一.先来看一看传统的N层架构 N-层架构的出现,主要是由于观注点的分离而产生,这三 ...

  5. ios网络请求特殊字符&处理

    原文地址:http://www.xuebuyuan.com/2039420.html CFURLCreateStringByAddingPercentEscapes 在作项目的的时候,一般都要用到网络 ...

  6. The first day to learn Englisht

    IF you want to go fast,to alone. IF you want to go far,go with others.

  7. BZOJ 4408 主席数+找规律

    #include <cstdio> ; inline void Get_Int(int &x) { ; ') ch=getchar(); +ch-'; ch=getchar();} ...

  8. PHP 监控服务器动态

    预期准备 一个139邮箱,收到邮件后,可以免费给你短信提醒.如果你不需要短信提醒功能,用什么邮箱都可以 另外一个可以运行PHP文件的Web服务器(相当于监控服务器),现在免费的PHP网站空间很多,上网 ...

  9. Python 基础之在ubuntu系统下安装双版本python

    前言:随着python升级更新,新版本较于老版本功能点也有不同地方,作为一个初学者应该了解旧版本的规则,也要继续学习新版本的知识.为了能更好去学习python,我在ubuntu安装python2和py ...

  10. 第三章Git使用入门--读书笔记

    “管理”一词,几乎在生活的方方面面都存在,而在Linux驱动开发中会涉及很多的源代码,对于数量繁多的源码,我们也应该有一个管理软件.Android和Linux内核及驱动开发的源代码基本都是由Git 来 ...