Java實訓項目12:GUI學生信息管理系統 - 實現步驟 - 創建服務接口實現類

文章目錄

七、實現步驟

(八)創建服務接口實現類

  • 在net.hw.student.service包裏創建impl子包,然後在裏面創建四個服務接口的實現類
    在這裏插入圖片描述

1、創建學校服務接口實現類

  • 創建學校服務接口實現類CollegeServiceImpl
    在這裏插入圖片描述
package net.hw.student.service.impl;

import net.hw.student.bean.College;
import net.hw.student.dao.CollegeDao;
import net.hw.student.dao.impl.CollegeDaoImpl;
import net.hw.student.service.CollegeService;

/**
 * 功能:學校服務接口實現類
 * 作者:華衛
 * 日期:2020年06月06日
 */
public class CollegeServiceImpl implements CollegeService {
    /**
     * 聲明學校數據訪問對象
     */
    private CollegeDao collegeDao = new CollegeDaoImpl();

    @Override
    public College findCollegeById(int id) {
        return collegeDao.findById(id);
    }

    @Override
    public int updateCollege(College college) {
        return collegeDao.update(college);
    }
}

單元測試:對CollegeServiceImpl進行單元測試

爲了確保Service層給上層提供正確的服務,應該進行單元測試,本項目採用JUnit4單元測試框架。

  • 在net.hw.student.test包裏創建測試類TestCollegeServiceImpl
    在這裏插入圖片描述

(1)編寫測試方法testFindCollegeById()

在這裏插入圖片描述

  • 運行該測試方法,查看結果
    在這裏插入圖片描述

(2)編寫測試方法testUpdateCollege()

在這裏插入圖片描述

  • 運行該測試方法,查看結果
    在這裏插入圖片描述

2、創建狀態服務接口實現類

  • 創建狀態服務接口實現類StatusServiceImpl
    在這裏插入圖片描述
package net.hw.student.service.impl;

import net.hw.student.bean.Status;
import net.hw.student.dao.StatusDao;
import net.hw.student.dao.impl.StatusDaoImpl;
import net.hw.student.service.StatusService;

/**
 * 功能:狀態服務接口實現類
 * 作者:華衛
 * 日期:2020年06月06日
 */
public class StatusServiceImpl implements StatusService {
    /**
     * 聲明狀態數據訪問對象
     */
    private StatusDao statusDao = new StatusDaoImpl();

    @Override
    public Status findStatusById(int id) {
        return statusDao.findById(id);
    }

    @Override
    public int updateStatus(Status status) {
        return statusDao.update(status);
    }
}

單元測試:對StatusServiceImpl進行單元測試

  • 在net.hw.student.test包裏創建測試類TestStatusServiceImpl 在這裏插入圖片描述

(1)編寫測試方法testFindStatusById()

在這裏插入圖片描述

  • 運行該測試方法,查看結果
    在這裏插入圖片描述

(2)編寫測試方法testUpdateStatus()

在這裏插入圖片描述

  • 運行該測試方法,查看結果
    在這裏插入圖片描述

3、創建學生服務接口實現類

  • 創建學生服務接口實現類StudentServiceImpl
    在這裏插入圖片描述
package net.hw.student.service.impl;

import net.hw.student.bean.Student;
import net.hw.student.dao.StudentDao;
import net.hw.student.dao.impl.StudentDaoImpl;
import net.hw.student.service.StudentService;

import java.util.List;
import java.util.Vector;

/**
 * 功能:學生服務接口實現類
 * 作者:華衛
 * 日期:2020年06月06日
 */
public class StudentServiceImpl implements StudentService {
    /**
     * 聲明學生數據訪問對象
     */
    private StudentDao studentDao = new StudentDaoImpl();

    @Override
    public int addStudent(Student student) {
        return studentDao.insert(student);
    }

    @Override
    public int deleteStudentById(String id) {
        return studentDao.deleteById(id);
    }

    @Override
    public int deleteStudentsByClass(String clazz) {
        return studentDao.deleteByClass(clazz);
    }

    @Override
    public int deleteStudentsByDepartment(String department) {
        return studentDao.deleteByDepartment(department);
    }

    @Override
    public List<Student> findAllStudents() {
        return studentDao.findAll();
    }

    @Override
    public Vector findRowsByClass() {
        return studentDao.findRowsByClass();
    }

    @Override
    public Vector findRowsByDepartment() {
        return studentDao.findRowsByDepartment();
    }

    @Override
    public Vector findRowsBySex() {
        return studentDao.findRowsBySex();
    }

    @Override
    public Student findStudentById(String id) {
        return studentDao.findById(id);
    }

    @Override
    public List<Student> findStudentsByClass(String clazz) {
        return studentDao.findByClass(clazz);
    }

    @Override
    public List<Student> findStudentsByDepartment(String department) {
        return studentDao.findByDepartment(department);
    }

    @Override
    public List<Student> findStudentsByName(String name) {
        return studentDao.findByName(name);
    }

    @Override
    public int updateStudent(Student student) {
        return studentDao.update(student);
    }
}

單元測試:對StudentServiceImpl進行單元測試

  • 在net.hw.student.test包裏創建測試類TestStudentServiceImpl
    在這裏插入圖片描述

(1)編寫測試方法testFindStudentsByName()

在這裏插入圖片描述

  • 運行該測試方法,查看結果
    在這裏插入圖片描述

獨立完成剩餘方法的測試任務

(1)編寫測試方法testAddStudent()

(2)編寫測試方法testDeleteStudentById()

(3)編寫測試方法testDeleteStudentsByClass()

(4)編寫測試方法testDeleteStudentsByDepartment()

(5)編寫測試方法testUpdateStudent()

(6)編寫測試方法testFindStudentById()

(7)編寫測試方法testFindAllStudents()

(8)編寫測試方法testFindStudentsByClass()

(9)編寫測試方法testFindStudentsByDepartment()

(10)編寫測試方法testFindRowsBySex()

(11)編寫測試方法testFindRowsByClass()

(12)編寫測試方法testFindRowsByDepartment()

4、創建用戶服務接口實現類

  • 創建用戶服務接口實現類UserServiceImpl
    在這裏插入圖片描述
package net.hw.student.service.impl;

import net.hw.student.bean.User;
import net.hw.student.dao.UserDao;
import net.hw.student.dao.impl.UserDaoImpl;
import net.hw.student.service.UserService;

import java.util.List;

/**
 * 功能:用戶數據訪問接口實現類
 * 作者:華衛
 * 日期:2020年06月06日
 */
public class UserServiceImpl implements UserService {
    /**
     * 聲明用戶數據訪問對象
     */
    private UserDao userDao = new UserDaoImpl();

    @Override
    public int addUser(User user) {
        return userDao.insert(user);
    }

    @Override
    public int deleteUserById(int id) {
        return userDao.deleteById(id);
    }

    @Override
    public List<User> findAllUsers() {
        return userDao.findAll();
    }

    @Override
    public User findUserById(int id) {
        return userDao.findById(id);
    }

    @Override
    public User login(String username, String password) {
        return userDao.login(username, password);
    }

    @Override
    public int updateUser(User user) {
        return userDao.update(user);
    }

    @Override
    public boolean isUsernameExisted(String username) {
        return userDao.isUsernameExisted(username);
    }
}

單元測試:對UserServiceImpl進行單元測試

  • 在net.hw.student.test包裏創建測試類TestUserServiceImpl
    在這裏插入圖片描述

(1)編寫測試方法testLogin()

在這裏插入圖片描述

  • 運行該測試方法,查看結果
    在這裏插入圖片描述
  • 修改用戶名與密碼
    在這裏插入圖片描述
  • 再次運行該測試方法,查看結果
    在這裏插入圖片描述

獨立完成剩餘方法的測試任務

(1)編寫測試方法testIsUsernameExisted()

(2)編寫測試方法testAddUser()

(3)編寫測試方法testDeleteUserById()

(4)編寫測試方法testUpdateUser()

(5)編寫測試方法testFindUserById()

(6)編寫測試方法testFindAllUsers()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章