应该是什么是设计DAO类的最佳方式?

方法#1:将DAO类设计为对象。

class Customer {

//customer class

}

class CustomerDAO {

public void saveCustomer(Customer customer) {

//code

}

public Customer getCustomer(int id) {

//code

}

}

//Client code

class client {

public static void main(String[] args) {

CustomerDAO customerDAO = new CustomerDAO();

Customer customer = new Customer();

customerDAO.saveCustomer(customer);

}

}

方法#2:使用静态方法(也称为静态类)设计DAO类

class Customer {

//customer class

}

class CustomerDAO {

public static void saveCustomer(Customer customer) {

//code

}

public static Customer getCustomer(int id) {

//code

}

}

//Client code

class client {

public static void main(String[] args) {

Customer customer = new Customer();

CustomerDAO.saveCustomer(customer);

}

}

在方法#1中,我必须在所有客户端代码中创建一个DAO类的对象(其他选项是传递DAO的引用)。而在方法#2中,我不必创建对象,静态方法可以设计为没有状态跟踪。

那么哪种方法是DAO类的设计中最好的?

java如何创建一个dao类_java – 如何设计一个DAO类?相关推荐

  1. Java黑皮书课后题第9章:*9.11(代数:2*2的线性方程)为一个2*2的线性方程设计一个名为LinearEquation的类

    Java黑皮书课后题第9章:*9.11(代数:2*2的线性方程)为一个2*2的线性方程设计一个名为LinearEquation的类 题目 破题 代码 Test10 Test11_LinearEquat ...

  2. java构造一个水果类_Java基础入门之Object类、匿名内部类、构造方法的继承解析...

    前言 大家好,我是Java进阶者.这篇文章我们主要介绍Java基础中的Object类.匿名内部类.构造方法的继承知识,一起来学习下吧! 一.Object类 1.Object类是所有类的父类,所有类都继 ...

  3. java 不是封闭类_java – 不是一个封闭的类错误Android Studio

    我在 Android开发中是新的,并没有深入的Java知识.我长时间困扰着一个问题.我试图在按钮点击上打开一个新的活动.但是我收到一个错误:错误:不是封闭类:Katra_home. 这是MainAct ...

  4. java中的匿名类方法覆盖_Java技巧:用匿名类来实现简化程序调试

    Java技巧:用匿名类来实现简化程序调试 在Java中,匿名类(Anonymous inner classes)多用来处理事件(event handle).但其实,它们对于debug也很有帮助.本文将 ...

  5. java.lang中所有的类_java.lang中的数学类

    Math 类 Java 中,讲 Math 类定义为 final 类,不能再派生子类. Math 类中定义的常量和方法都用 static 修饰符来修饰,因此不必创建 Math 类的实例,可以通过类名直接 ...

  6. java thread类_java多线程之Thread类

    Class Thread java.lang.Object java.lang.Thread 实现接口:Runnable 直接被继承的子类:ForkJoinWorkerThread public cl ...

  7. java反射怎么获取结构体_java反射-使用反射获取类的所有信息

    在OOP(面向对象)语言中,最重要的一个概念就是:万事万物皆对象. 在java中,类也是一个对象,是java.lang.Class的实例对象,官网称该对象为类的类类型. Class 类的实例表示正在运 ...

  8. java正则表达式类_java中正则表达式之Pattern类与Matcher类

    java中正则表达式之Pattern类与Matcher类 ======================================================================= ...

  9. java虚拟机预先加载哪些类_Java虚拟机JVM学习02 类的加载概述

    Java虚拟机JVM学习02 类的加载概述 类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对 ...

最新文章

  1. LeetCode简单题之实现 strStr()
  2. 自定义带DropDownTable的TextField(事件)
  3. Binary Tree Traverasl with OO and Stack
  4. 一鼓作气 博客--第六篇 note6
  5. jvm解决堆内存溢出问题
  6. jQuery length 和 size()区别
  7. SWOT分析是神马?
  8. kernel module required key not available
  9. 【每日算法Day 95】美团笔试题:四面体方案个数
  10. mybatis多数据源配置_springboot+mybatis+aop配置动态数据源
  11. ionic cordova 热更新
  12. 南大计算机系2014保研,【公示】2013年南京大学计算机系保研名单公示(院系初步推免)...
  13. postgresql chm格式手册
  14. 关于交流半波与全波整流输出的电压(或电流)有效值和平均值的讨论
  15. 最详细的MySQL大表优化方案
  16. docker load镜像报错:open /var/lib/docker/tmp/docker-import-525555606/repositories: no such file or direc
  17. 蚂蚁java一二三面面经
  18. DELPHI资源文件使用
  19. 皕杰报表之小程序代码质量检测
  20. react hook 闭包陷阱问题

热门文章

  1. 解读vs2003、vs2005、vs2008开发Windows CE环境、默认S pda 智能设备
  2. bugku 贝斯家族
  3. mongodb里的集合数据迁移到mysql库
  4. android 动态数组类,Android动态数组ListPreference
  5. report painter传输tcode
  6. DDL、DML和DCL的区别与理解
  7. 有效延缓近视度数加深!青少年近视防控你了解么?
  8. php mysql 去重_mysql去重的两种方法实例详解
  9. Hadoop分布式(最小集群)搭建(三台虚拟机)
  10. vbs 错误未结束的错误字符串常量