Generify Dao hierarchy
This commit is contained in:
parent
4cc19191c0
commit
0d9692992b
@ -17,7 +17,7 @@ public abstract class Dao<T extends Entity> {
|
||||
|
||||
public abstract T find(int id);
|
||||
|
||||
public abstract List<T> findAll(T obj);
|
||||
public abstract List<T> findAll();
|
||||
|
||||
public abstract boolean update(T obj);
|
||||
|
||||
|
@ -1,5 +1,9 @@
|
||||
package fr.gasser.daoexample.dao;
|
||||
|
||||
import fr.gasser.daoexample.model.Discipline;
|
||||
import fr.gasser.daoexample.model.Student;
|
||||
import fr.gasser.daoexample.model.Teacher;
|
||||
|
||||
public interface DaoAbstractFactory {
|
||||
|
||||
static DaoAbstractFactory createFactory(FactoryType type) {
|
||||
@ -18,10 +22,10 @@ public interface DaoAbstractFactory {
|
||||
return createFactory(FactoryType.DaoFactory);
|
||||
}
|
||||
|
||||
StudentDao createStudentDao();
|
||||
Dao<Student> createStudentDao();
|
||||
|
||||
TeacherDao createTeacherDao();
|
||||
Dao<Teacher> createTeacherDao();
|
||||
|
||||
DisciplineDao createDisciplineDao();
|
||||
Dao<Discipline> createDisciplineDao();
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,8 @@
|
||||
package fr.gasser.daoexample.dao;
|
||||
|
||||
import fr.gasser.daoexample.model.Discipline;
|
||||
import fr.gasser.daoexample.model.Student;
|
||||
import fr.gasser.daoexample.model.Teacher;
|
||||
import fr.gasser.daoexample.sql.Connection;
|
||||
import fr.gasser.daoexample.sql.DummyConnection;
|
||||
|
||||
@ -7,17 +10,17 @@ public class DaoFactory implements DaoAbstractFactory {
|
||||
private static Connection connection = new DummyConnection();
|
||||
|
||||
@Override
|
||||
public StudentDao createStudentDao() {
|
||||
public Dao<Student> createStudentDao() {
|
||||
return new StudentDao(DaoFactory.connection);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TeacherDao createTeacherDao() {
|
||||
public Dao<Teacher> createTeacherDao() {
|
||||
return new TeacherDao(DaoFactory.connection);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DisciplineDao createDisciplineDao() {
|
||||
public Dao<Discipline> createDisciplineDao() {
|
||||
return new DisciplineDao(DaoFactory.connection);
|
||||
}
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ public class DisciplineDao extends Dao<Discipline> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Discipline> findAll(Discipline obj) {
|
||||
public List<Discipline> findAll() {
|
||||
return DISCIPLINES;
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,7 @@ public class StudentDao extends Dao<Student> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Student> findAll(Student obj) {
|
||||
public List<Student> findAll() {
|
||||
return students;
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,7 @@ public class TeacherDao extends Dao<Teacher> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Teacher> findAll(Teacher obj) {
|
||||
public List<Teacher> findAll() {
|
||||
return teachers;
|
||||
}
|
||||
|
||||
|
@ -2,37 +2,45 @@ package fr.gasser.daoexample.model;
|
||||
|
||||
public class Student extends Entity {
|
||||
|
||||
private String nom;
|
||||
private String prenom;
|
||||
private String name;
|
||||
private String surname;
|
||||
|
||||
public Student() {
|
||||
this(0, "", "");
|
||||
}
|
||||
|
||||
public Student(int id, String nom, String prenom) {
|
||||
public Student(int id, String name, String surname) {
|
||||
super(id);
|
||||
this.nom = nom;
|
||||
this.prenom = prenom;
|
||||
this.name = name;
|
||||
this.surname = surname;
|
||||
}
|
||||
|
||||
|
||||
public String getName() {
|
||||
return nom;
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
public void setNom(String nom) {
|
||||
this.nom = nom;
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
|
||||
public String getSurname() {
|
||||
return prenom;
|
||||
return surname;
|
||||
}
|
||||
|
||||
|
||||
public void setPrenom(String prenom) {
|
||||
this.prenom = prenom;
|
||||
public void setSurname(String surname) {
|
||||
this.surname = surname;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Student{" +
|
||||
"name='" + name + '\'' +
|
||||
", surname='" + surname + '\'' +
|
||||
", id=" + id +
|
||||
'}';
|
||||
}
|
||||
}
|
@ -1,9 +1,11 @@
|
||||
package fr.gasser.daoexample.sql;
|
||||
|
||||
public interface Connection {
|
||||
void connect();
|
||||
import java.sql.SQLException;
|
||||
|
||||
void close();
|
||||
public interface Connection {
|
||||
void connect() throws SQLException;
|
||||
|
||||
void close() throws SQLException;
|
||||
|
||||
java.sql.Connection getConnection();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user