阿里雲CentOS搭建EasyMock
阿新 • • 發佈:2020-10-25
//StudenDaoListImpl.java
package stumanagement; import java.util.ArrayList; import java.util.List; public class StudenDaoListImpl implements StudentDao { private List<Student> students = new ArrayList<Student>(); @Overridepublic Student getStuByName(String name) { Student temp = null; for(Student e:students){ if(e.getName().equals(name)){ temp = e; } } return temp; } @Override public boolean addStudent(Student student) { students.add(student);return true; } @Override public void diplayAllStudents(){ for(Student e:students){ if (e != null) System.out.println(e); } } }
//StudentDaoArrayImpl.java package stumanagement; public class StudentDaoArrayImpl implements StudentDao {private Student[] students; public StudentDaoArrayImpl(int size) { students = new Student[size]; } @Override public Student getStuByName(String name) { Student temp = null; for(int i=0; i<students.length;i++){ if(students[i]!= null){ if (students[i].getName().equals(name)){ temp = students[i]; break; } } } return temp; } @Override public boolean addStudent(Student student) { boolean success = false; for(int i=0; i<students.length;i++){ if(students[i]==null){ students[i] = student; success = true; break; } } return success; } @Override public void diplayAllStudents(){ for(Student e:students){ if (e != null) System.out.println(e); } } }
兩種java檔案都可以實現3個功能
- getStuByName(String name) 查詢學生資訊;
- addStudent(Student student) 新增學生;
- diplayAllStudents() 顯示所有學生;
但是每個功能的實現方式不同,這兩個方法對於學生資料的儲存的資料結構不同。StudenDaoListImpl.java用List列表的方式儲存,StudentDaoArrayImpl.java用陣列的方式儲存。
//StudentDao.java package stumanagement; public interface StudentDao { public boolean addStudent(Student student); public Student getStuByName(String name); public void diplayAllStudents(); }
StudentDao.java是DAO介面,DAO介面的作用是:把對資料庫的所有操作定義成抽象方法,可以提供多種實現。因為其中方法為抽象方法,所以沒有實現程式碼。
3. 使用搜索引擎搜尋“Java DAO”,選出幾句你能看懂的、對你最有啟發的話。請結合介面知識去理解。
參考文件:https://www.jb51.net/article/127382.htm
DAO(Data Access Object)顧名思義是一個為資料庫或其他持久化機制提供了抽象介面的物件,在不暴露底層持久化方案實現細節的前提下提供了各種資料訪問操作。
DAO模式實際上包含了兩個模式,一是Data Accessor(資料訪問器),二是Data Object(資料物件),前者要解決如何訪問資料的問題,而後者要解決的是如何用物件封裝資料。
個人理解:DAO模式就是建立一個介面,介面中定義了此應用程式中將會用到的所有事務方法,但是DAO介面不提供對這些方法的實現。當需要和資料來源進行互動的時候則使用這個介面,並且編寫一個單獨的類來實現這個介面,在邏輯上該類對應一個特定的資料儲存。