文章目录
八、项目开发实现步骤
(八)创建服务接口
服务接口调用数据访问接口,可以添加必要的业务逻辑,而服务接口被控制层调用,获取数据传递给视图层显示。
在net.zqy.student根包里创建service子包
1、创建学校服务接口
在net.zqy.student.service包里创建CollegeService接口
package net.huawei.student.service;
import net.zqy.student.bean.College;
/**
- 功能:学校服务接口
- 作者:zqy
- 日期:2023年06月16日
*/
public interface CollegeService {
College findCollegeById(int id); // 按标识符查询学校记录
int updateCollege(College college); // 更新学校记录
}
2、创建状态服务接口
在net.zqy.student.service包里创建StatusService接口
package net.huawei.student.service;
import net.huawei.student.bean.Status;
/**
- 功能:状态服务接口
- 作者:zqy
- 日期:2023年06月16日
*/
public interface StatusService {
Status findStatusById(int id); // 按标识符查询状态记录
int updateStatus(Status status); // 更新状态记录
}
3、创建学生服务接口
在net.huawei.student.service包里创建StudentService接口
package net.huawei.student.service;
import net.huawei.student.bean.Student;
import java.util.List;
import java.util.Vector;
/**
- 功能:学生服务接口
- 作者:zqy
- 日期:2023年06月16日
*/
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 findStudentsByName(String name); // 按姓名查询学生记录
List findStudentsByClass(String clazz); // 按班级查询学生记录
List findStudentsByDepartment(String department); // 按系部查询学生记录
List findAllStudents(); // 查询全部学生记录
Vector findRowsBySex(); // 按性别统计人数
Vector findRowsByClass(); // 按班级统计人数
Vector findRowsByDepartment(); // 按系部统计人数
}
4、创建用户服务接口
在net.huawei.student.service包里创建UserService接口
package net.huawei.student.service;
import net.huawei.student.bean.User;
import java.util.List;
/**
- 功能:用户服务接口
- 作者:华卫
- 日期:2023年06月16日
*/
public interface UserService {
int addUser(User user); // 添加用户记录
int deleteUserById(int id); // 按标识符删除用户记录
int updateUser(User user); // 更新用户记录
User findUserById(int id); // 按标识符查询用户记录
List findAllUsers(); // 查询全部用户记录
User login(String username, String password); // 登录方法
boolean isUsernameExisted(String username); // 用户名是否存在
}
(九)创建服务接口实现类
在net.huawei.student.service包里创建impl子包
1、创建学校服务接口实现类
在net.huawei.student.service.impl包里创建CollegeServiceImpl类
实现CollegeService接口,空实现所有抽象方法
package net.huawei.student.service.impl;
import net.huawei.student.bean.College;
import net.huawei.student.dao.CollegeDao;
import net.huawei.student.dao.impl.CollegeDaoImpl;
import net.huawei.student.service.CollegeService;
/**
-
功能:学校服务接口实现类
-
作者:zqy
-
日期:2023年06月16日
*/
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);
}
}
2、创建状态服务接口实现类
在net.huawei.student.service.impl包里创建StatusServiceImpl类
实现StatusService接口,空实现所有抽象方法
package net.huawei.student.service.impl;
import net.huawei.student.bean.Status;
import net.huawei.student.dao.StatusDao;
import net.huawei.student.dao.impl.StatusDaoImpl;
import net.huawei.student.service.StatusService;
/**
-
功能:状态服务接口实现类
-
作者:zqy
-
日期:2023年06月16日
*/
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);
}
}
3、创建学生服务接口实现类
在net.huawei.student.service.impl包里创建StudentServiceImpl类
实现StudentService接口,空实现所有抽象方法
package net.huawei.student.service.impl;
import net.huawei.student.bean.Student;
import net.huawei.student.dao.StudentDao;
import net.huawei.student.dao.impl.StudentDaoImpl;
import net.huawei.student.service.StudentService;
import java.util.List;
import java.util.Vector;
/**
-
功能:学生服务接口实现类
-
作者:华卫
-
日期:2023年06月16日
*/
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 int updateStudent(Student student) {
return studentDao.update(student);
}@Override
public Student findStudentById(String id) {
return studentDao.findById(id);
}@Override
public List findStudentsByName(String name) {
return studentDao.findByName(name);
}@Override
public List findStudentsByClass(String clazz) {
return studentDao.findByClass(clazz);
}@Override
public List findStudentsByDepartment(String department) {
return studentDao.findByDepartment(department);
}@Override
public List findAllStudents() {
return studentDao.findAll();
}@Override
public Vector findRowsBySex() {
return studentDao.findRowsBySex();
}@Override
public Vector findRowsByClass() {
return studentDao.findRowsByClass();
}@Override
public Vector findRowsByDepartment() {
return studentDao.findRowsByDepartment();
}
}
4、创建用户服务接口实现类
在net.huawei.student.service.impl包里创建UserServiceImpl类
实现UserService接口,空实现所有抽象方法
package net.huawei.student.service.impl;
import net.huawei.student.bean.User;
import net.huawei.student.dao.UserDao;
import net.huawei.student.dao.impl.UserDaoImpl;
import net.huawei.student.service.UserService;
import java.util.List;
/**
-
功能:用户服务接口实现类
-
作者:zqy
-
日期:2023年06月16日
*/
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 int updateUser(User user) {
return userDao.update(user);
}@Override
public User findUserById(int id) {
return userDao.findById(id);
}@Override
public List findAllUsers() {
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);
}
}