第四次实训

此次实训创建了服务以及服务接口实现类
首先在net.hy.student下创建一个service包,然后在service包下创建四个数据访问接口,CollegeService、StatusService、StudentService、UserService其部分代码如下
CollegeService

package net.hy.student.service;

import net.hy.student.bean.College;

/**
 * 功能:学校服务接口
 * 作者:黄运
 * 日期:2020年7月8日
 */
public interface CollegeService {
    College findCollegeById(int id);
    int updateCollege(College college);
}

StatusService

package net.hy.student.service;

        import net.hy.student.bean.Status;

/**
 * 功能:状态服务接口
 * 作者:黄运
 * 日期:2020年7月8日
 */
public interface StatusService {
    Status findStatusById(int id);
    int updateStatus(Status status);
}

StudentService

package net.hy.student.service;
import net.hy.student.bean.Student;
import java.util.List;
import java.util.Vector;
/**
 * 功能:学生服务接口
 * 作者:黄运
 * 日期:2020年7月8日
 */
public interface StudentService {
    int addStudent(Student student);
    int deleteStudentById(String id);
    int deleteStudentsByClass(String clazz);
    int deleteStudentsByDepartment(String department);
    int updateStudent(Student student);
    Student findStudentById(String id);
    List<Student> findStudentsByName(String name);
    List<Student> findStudentsByClass(String clazz);
    List<Student> findStudentsByDepartment(String department);
    List<Student> findAllStudents();
    Vector findRowsBySex();
    Vector findRowsByClass();
    Vector findRowsByDepartment();
}

UserService

package net.hy.student.service;
import net.hy.student.bean.User;

import java.util.List;

/**
 * 功能:用户服务接口
 * 作者:黄运
 * 日期:2020年7月8日
 */
public interface UserService {
    int addUser(User user);
    int deleteUserById(int id);
    int updateUser(User user);
    User findUserById(int id);
    List<User> findAllUsers();
    User login(String username, String password);
    boolean isUsernameExisted(String username);
}

在net.hy.student.service包里创建impl子包,然后在里面创建四个服务接口的实现类,其部分的代码如下所示
CollegeServiceImpI

package net.hy.student.service.ImpI;
import net.hy.student.bean.College;
import net.hy.student.dao.CollegeDao;
import net.hy.student.dao.ImpI.CollegeDaoImpI;
import net.hy.student.service.CollegeService;

/**
 * 功能:学校服务接口实现类
 * 作者:黄运
 * 日期:2020年7月8日
 */
public class CollegeServiceImpI implements CollegeService {
    /**
     * 声明学校数据访问对象
     */
    private CollegeDao collegeDao = new CollegeDaoImpI();

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

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

StatusServiceImpI

package net.hy.student.service.ImpI;

import net.hy.student.bean.Status;
import net.hy.student.dao.StatusDao;
import net.hy.student.dao.ImpI.StatusDaoImpI;
import net.hy.student.service.StatusService;

/**
 * 功能:状态服务接口实现类
 * 作者:黄运
 * 日期:2020年7月8日
 */
public class StatusServiceImpI implements StatusService {
    /**
     * 声明状态数据访问对象
     */
    private StatusDao statusDao = new StatusDaoImpI();

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

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

StudentServiceImpI

package net.hy.student.service.ImpI;

import net.hy.student.bean.Student;
import net.hy.student.dao.StudentDao;
import net.hy.student.dao.impl.StudentDaoImpI;
import net.hy.student.service.StudentService;

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

/*
功能:学生服务接口实现类
作者:黄运
日期:2020年7月8日
 */
public abstract class StudentServiceImpI implements StudentService {
    /*
    声明学生数据访问对象
     */
    private final StudentDao studentDao = new StudentDaoImpI() {
        @Override
        public Vector findRowBySex() {
            return studentDao.findRowsBySex();
        }

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

        @Override
        public Vector findRowByDepartment() {
            return studentDao.findRowsByDeparment();
        }
    };
    @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.findRowsByDeparment();
    }

    @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);
    }
}

UserServiceImpI

package net.hy.student.service.ImpI;

import net.hy.student.bean.User;
import net.hy.student.dao.UserDao;
import net.hy.student.service.UserService;

import java.util.List;
/*
功能:学生服务接口实现类
作者:黄运
日期:2020年7月8日
 */
public class UserServiceImpI implements UserService {
    /**
     * 声明用户数据访问对象
     */
    private UserDao userDao = new UserDaoImpI();
    @Override
    public int addUser(User user) {
        return 0;
    }

    @Override
    public int deleteUserById(int id) {
        return 0;
    }

    @Override
    public int updateUser(User user) {
        return 0;
    }

    @Override
    public User findUserById(int id) {
        return null;
    }

    @Override
    public List<User> findAllUsers() {
        return null;
    }

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

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

    private class UserDaoImpI implements UserDao {
        @Override
        public int insert(User user) {
            return userDao.insert(user);
        }

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

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

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

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

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

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

当服务接口类了创建好以后我们就可以对这些接口进行测试,其测试代码部分以及运行截图如下

TestCollegeServiceImpI

package net.hy.student.test;

import net.hy.student.bean.College;
import net.hy.student.service.CollegeService;
import net.hy.student.service.ImpI.CollegeServiceImpI;
import org.junit.Test;

/*
功能:测试学校服务接口实现类
作者:黄运
日期:2020年7月8日
 */
public class TestCollegeServiceImpI {
    //创建学校服务接口对象
    CollegeService service = new CollegeServiceImpI();
    @Test
    public void testFindCollegeById(){
        //调用学校服务接口对象的查找方法,获取学校对象
        College college = service.findCollegeById(1);
        //输出学校信息
        System.out.println("姓名:"+college.getName());
        System.out.println("校长:"+college.getPresident());
        System.out.println("地址:"+college.getAddress());
        System.out.println("邮箱:"+college.getEmail());
        System.out.println("电话:"+college.getTelephone());
    }
    @Test
    public void testUpdateCollege(){
        CollegeService service = new CollegeServiceImpI();
        College college = service.findCollegeById(1);
        college.setPresident("王洪礼");
        college.setTelephone("0830-3150380");
        int count = service.updateCollege(college);
        if(count > 0){
            System.out.println("恭喜,学校记录更新成功!");
        college = service.findCollegeById(1);
        System.out.println(college);
            }else{
            System.out.println("遗憾,学校记录更新失败!");
        }
    }
}

在这里插入图片描述
TestStatusServiceImpI

package net.hy.student.test;

import net.hy.student.bean.Status;
import net.hy.student.service.ImpI.StatusServiceImpI;
import net.hy.student.service.StatusService;
import org.junit.Test;

/*
功能:测试学校服务接口实现类
作者:黄运
日期:2020年7月8日
 */
public class TestStatusServiceImpI {
    //创建状态服务接口对象
    StatusService service = new StatusServiceImpI();
    @Test
    public void testFindStatusById(){
        //调用状态服务接口对象的查询方法,获取状态对象
        Status status = service.findStatusById(1);
        //输出信息
        System.out.println("作者:"+status.getAuthor());
        System.out.println("学校:"+status.getCollege());
        System.out.println("版本:"+status.getVersion());
        System.out.println("地址:"+status.getAddress());
        System.out.println("电话:"+status.getTelephone());
        System.out.println("邮箱:"+status.getEmail());
    }
    @Test
    public void testUpdateStatus(){
        //调用状态服务接口对象的查询方法,获取对象
        Status status = service.findStatusById(1);
        status.setAuthor("黄运");
        status.setTelephone("17318923111");
        //调用状态服务对象的更新方法,更新状态对象
        int count =  service.updateStatus(status);
        if(count > 0 ){
            System.out.println("恭喜,状态记录更新成功!");
            status = service.findStatusById(1);
            System.out.println(status);
        }else{
            System.out.println("遗憾,状态记录更新失败!");
        }
    }
}

在这里插入图片描述
TestStudentServiceImpI

package net.hy.student.test;

import net.hy.student.bean.Student;
import net.hy.student.service.ImpI.StudentServiceImpI;
import net.hy.student.service.StudentService;
import org.junit.Test;

import java.util.List;

/*
功能:测试学生服务接口实现类
作者:黄运
日期:2020年7月8日
 */
public class TestStudentServiceImpI {
    //创建学生服务接口对象
    StudentService service = new StudentServiceImpI() {
        @Override
        public int addStudent(Student student) {
            return super.addStudent(student);
        }
    };

在这里插入图片描述
TestUserServiceImpI

public class TestUserServiceImpI {
    //创建用户服务接口对象
    UserService service = new UserServiceImpI();
    @Test
    public void testLogin(){
        String username, password;
        username = "huangyun";
        password = "123456";
        User user = service.login(username,password);
        if(user != null){
            System.out.println("恭喜,用户名与密码正确,登陆了成功!");
        } else{
            System.out.println("遗憾,用户名或密码错误,登录失败!");
        }
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值