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. Sprint 2(第一天)

    Sprint 2计划会议: 目标: 1.实现用户模块的权限控制,能够进行用户登录的功能 2.对菜单模块实现增加菜单列表详情,修改菜单列表详情,删除菜单列表详情,查询菜单列表详情的功能 3.实现菜品分类 ...

  2. 把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;

    import java.util.Scanner; public class Test2 { public void reverse(String str) { String[] wordArray ...

  3. C语言文法 LL(1)文法

    程序->外部声明 | 程序 外部声明 程序->外部声明A' A'->外部声明A'|ε 外部声明->修饰符 变量名 形参 修饰符->void | int | char | ...

  4. C语言程序设计第三次作业

    态度决定一切,无论做什么事情,秉持一个认真的态度,相信一定会让你受益无穷.当提交作业时,如果只是粘贴一下代码和运行结果,那么,你也只是写了一个程序而已,对你自己水平的提升帮助并不大,这次犯的错误或许下 ...

  5. 在web中使用windows控件,实现摄像头功能

    最近做的一个Web版的视频会议项目,需要在网页中播放来自远程摄像头采集的实时视频,我们已经有了播放远程实时视频的使用C#编写的windows控件,如何将其嵌入到网页中去了?这需要使用一种古老的技术,A ...

  6. centos 7 lamp (linux+apache+mysql+php)开发环境搭建(转+原创)

    准备篇:CentOS 7.0系统安装配置图解教程 http://www.jb51.net/os/188487.html 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是fi ...

  7. Python Django 数据库操作

    1. 建立app 在自己的工程项目目录下输入: python manage.py startapp myapp(你想建立的app名称) 建立一个叫myapp的app 这样,在你的工程项目目录下会出现一 ...

  8. Asp.net Web.Config - 配置元素 trace

    一.trace的元素的属性 属性 说明 enabled 是否启用应用程序跟踪.为了使用 Trace.axd 查看器,必须启用跟踪.默认情况下,Trace.axd 查看器被添加到httpHandlers ...

  9. 从csv文件导数据到MySQL

    导入: load data local infile 'D:\\top-1m.csv'    (注意要加上local)10.21.into table `site` fields terminated ...

  10. 【转】为现代JavaScript开发做好准备

    原文转自:http://blog.jobbole.com/66135/ 今天无论是在浏览器中还是在浏览器外,JavaScript世界正在经历翻天覆地地变化.如果我们谈论脚本加载.客户端的MVC框架.压 ...