服务接口调用数据访问接口,可以添加必要的业务逻辑。服务接口被控制层调用。
学校服务接口CollegeService
CollegeService代码
状态服务接口StatusService
StatusService代码
学生服务接口StudentService
StudentService代码
用户服务接口UserService
UserService代码
服务接口实现类
学校服务接口实现类CollegeServiceImpl
CollegeServiceImpl代码
package net.yuyou.student.service.impl;
import net.yuyou.student.bean.College;
import net.yuyou.student.dao.CollegeDao;
import net.yuyou.student.dao.impl.CollegeDaoImpl;
import net.yuyou.student.service.CollegeService;
/**
* 功能:学校服务接口实现类
* 作者:余有
* 日期:2019-07-01
*/
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);
}
}
在net.yuyou.student.test包里创建测试类TestCollegeServiceImpl
编写测试方法testFindCollegeById()
运行该测试方法,结果如图
编写测试方法testUpdateCollege():
运行该测试方法,结果如图
状态服务接口实现类StatusServiceImpl
StatusServiceImpl代码
在net.yuyou.student.test包里创建测试类TestStatusServiceImpl
编写测试方法testFindStatusById()
运行该测试方法,结果如图
编写测试方法testUpdateStatus()
运行该测试方法,结果如图
学生服务接口实现类StudentServiceImpl
package net.yuyou.student.service.impl;
import net.yuyou.student.bean.Student;
import net.yuyou.student.dao.StudentDao;
import net.yuyou.student.dao.impl.StudentDaoImpl;
import net.yuyou.student.service.StudentService;
import java.util.List;
import java.util.Vector;
/**
* 功能:学生服务接口实现类
* 作者:余有
* 日期:2019-07-01
*/
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);
}
}
在net.yuyou.student.test包里创建测试类TestStudentServiceImpl:
编写测试方法testFindStudentsByName()
运行该测试方法,结果如图
用户服务接口实现类UserServiceImpl
package net.yuyou.student.service.impl;
import net.yuyou.student.bean.User;
import net.yuyou.student.dao.UserDao;
import net.yuyou.student.dao.impl.UserDaoImpl;
import net.yuyou.student.service.UserService;
import java.util.List;
/**
* 功能:用户服务接口实现类
* 作者:余有
* 日期:2019-07-01
*/
public class UserSerivceImpl 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);
}
}
在net.yuyou.student.test包里创建测试类TestUserServiceImpl
编写测试方法testLogin()方法
运行该测试方法,结果如图:
修改用户名与密码如下所示:
再运行该测试方法,结果如图