Java Data Access Object Pattern(数据访问对象模式)
来源:互联网 发布:python基础环境搭建 编辑:程序博客网 时间:2024/05/29 14:38
Java Data Access Object Pattern(数据访问对象模式)
数据访问对象模式(Data Access Object Pattern)或 DAO 模式用于把低级的数据访问 API 或操作从高级的业务服务中分离出来。以下是数据访问对象模式的参与者。
- 数据访问对象接口(Data Access Object Interface) - 该接口定义了在一个模型对象上要执行的标准操作。
- 数据访问对象实体类(Data Access Object concrete class) - 该类实现了上述的接口。该类负责从数据源获取数据,数据源可以是数据库,也可以是 xml,或者是其他的存储机制。
- 模型对象/数值对象(Model Object/Value Object) - 该对象是简单的 POJO,包含了 get/set 方法来存储通过使用 DAO 类检索到的数据。
- 创建数值对象。
/** * 1. 创建数值对象。 * @author mazaiting */public class Student { private String name; private int rollNo; public Student(String name, int rollNo) { this.name = name; this.rollNo = rollNo; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getRollNo() { return rollNo; } public void setRollNo(int rollNo) { this.rollNo = rollNo; }}
- 创建数据访问对象接口。
/** * 2. 创建数据访问对象接口。 * @author mazaiting */public interface StudentDao { public List<Student> getAllStudents(); public Student getStudent(int rollNo); public void updateStudent(Student student); public void deleteStudent(Student student);}
- 创建实现了上述接口的实体类。
/** * 3. 创建实现了StudentDao接口的实体类。 * @author mazaiting */public class StudentDaoImpl implements StudentDao{ List<Student> students; public StudentDaoImpl(){ students = new ArrayList<Student>(); Student student1 = new Student("Rebert", 0); Student student2 = new Student("John", 1); students.add(student1); students.add(student2); } public List<Student> getAllStudents() { return students; } public Student getStudent(int rollNo) { return students.get(rollNo); } public void updateStudent(Student student) { students.get(student.getRollNo()).setName(student.getName()); System.out.println("Student: Roll No " + student.getRollNo() +", updated in the database"); } public void deleteStudent(Student student) { students.remove(student.getRollNo()); System.out.println("Student: Roll No " + student.getRollNo() +", deleted from database"); }}
- 使用 StudentDao 来演示数据访问对象模式的用法。
/** * 4. 使用 StudentDao 来演示数据访问对象模式的用法。 * @author mazaiting */public class Client { public static void main(String[] args) { StudentDao studentDao = new StudentDaoImpl(); // 输出所有的学生 for (Student student : studentDao.getAllStudents()) { System.out.println("Student: [RollNo : " +student.getRollNo()+", Name : "+student.getName()+" ]"); } // 更新学生 Student student = studentDao.getAllStudents().get(0); student.setName("Michael"); studentDao.updateStudent(student); // 获取学生 studentDao.getStudent(0); System.out.println("Student: [RollNo : " +student.getRollNo()+", Name : "+student.getName()+" ]"); }}
- 打印结果
Student: [RollNo : 0, Name : Rebert ]Student: [RollNo : 1, Name : John ]Student: Roll No 0, updated in the databaseStudent: [RollNo : 0, Name : Michael ]
阅读全文
0 0
- Java Data Access Object Pattern(数据访问对象模式)
- 设计模式学习—数据访问对象模式(Data Access Object Design Pattern)
- DAO-数据访问对象(Data Access Object) 模式
- DAO(Data Access Object ,数据访问对象)设计模式
- java DAO(Data Access Object,DAO) 数据访问对象
- DAO(Data Access Object) 数据访问对象
- Spring 数据访问对象(Data Access Object,DAO)框架入门
- Spring 数据访问对象(Data Access Object,DAO)框架入门
- SQlite数据库(4)---DAO(data access object)数据访问对象
- DAO(Data Access Object Pattern)
- Spring 数据访问对象(Data Access Object,DAO)框架入门(翻译)
- Java设计模式-DAO( Data Access Object)
- DAO (Data Access Objects) 数据访问对象
- Java Null Object Pattern(空对象模式)
- Java Transfer Object Pattern(传输对象模式)
- Data Access 数据访问
- Java 空对象设计模式(Null Object Pattern) 讲解
- Java数据访问对象模式
- Java Visitor Pattern(访问者模式)
- Jcenter 依赖完整版
- Java MVC Pattern(MVC 模式)
- Java Business Delegate Pattern(业务代表模式)
- Java Composite Entity Pattern(组合实体模式)
- Java Data Access Object Pattern(数据访问对象模式)
- Java 邮件(问题解决)
- Java 邮件(JavaMail)
- Java Pinyin4j(汉字转拼音)
- Java Front Controller Pattern(前端控制器模式)
- Java Intercepting Filter Pattern(拦截过滤器)
- Java Service Locator Pattern(服务器定位模式)
- Java Transfer Object Pattern(传输对象模式)
- Android Exception(全局异常)