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()

猜你喜欢

转载自blog.csdn.net/howard2005/article/details/106583571