文章目录
八、项目开发实现步骤
(八)创建服务接口
服务接口调用数据访问接口,可以添加必要的业务逻辑,
在net.huawei.student根包里创建service子包
(1)创建学校服务接口
package net.lzm.student.service;
import net.lzm.student.bean.College;
/**
* 功能:学校服务接口
* 作者: lzm
* 日期:2023年06月16日
*/
public interface CollegeService {
College findCollegeById(int id); // 按标识符查询学校记录
int updateCollege(College college); // 更新学校记录
}
(2)创建状态服务接口
package net.lzm.student.service;
import net.lzm.student.bean.Status;
/**
* 功能:
* 作者: lzm
* 日期:2023年06月16日
*/
public interface StatusService {
Status findStatusById(int id); // 按标识符查询状态记录
int updateStatus(Status status); // 更新状态记录
}
(3)创建学生服务接口
package net.lzm.student.service;
import net.lzm.student.bean.Student;
import java.util.List;
import java.util.Vector;
/**
* 功能:学生服务接口
* 作者: lzm
* 日期: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<Student> findStudentsByName(String name); // 按姓名查询学生记录
List<Student> findStudentsByClass(String clazz); // 按班级查询学生记录
List<Student> findStudentsByDepartment(String department); // 按系部查询学生记录
List<Student> findAll(); // 查询全部学生记录
Vector findRowsBySex(); // 按性别统计人数
Vector findRowsByClass(); // 按班级统计人数
Vector findRowsByDepartment(); // 按系部统计人数
}
(4)创建用户服务接口
package net.lzm.student.service;
import net.lzm.student.bean.User;
import java.util.List;
/**
* 功能:
* 作者: lzm
* 日期:2023年06月16日
*/
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); // 判断用户名是否存在
}
(1) 创建服务接口实现类
在net.lzm.student.service包里面创建Impl子包
1、创建学校服务接口实现类
在net.lzm.student.service.Impl包里创建 CollegeServiceImpl
声明一个CollegeDao对象
(1)编写按标识符查询学校记录方法
(2)编写更新学校记录方法
package net.lzm.student.service.impl;
import net.lzm.student.bean.College;
import net.lzm.student.dao.CollegeDao;
import net.lzm.student.dao.impl.CollegeDaoImpl;
import net.lzm.student.service.CollegeService;
/**
* 功能:学校服务接口实现类
* 作者: lzm
* 日期: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.lzm.student.service.Impl包里创建 StatusServiceImpl
实现StatusService 接口,空实现所有抽象方法
package net.lzm.student.service.impl;
import net.lzm.student.bean.Status;
import net.lzm.student.dao.StatusDao;
import net.lzm.student.dao.impl.StatusDaoImpl;
import net.lzm.student.service.StatusService;
/**
* 功能:状态服务接口实现类
* 作者: lzm
* 日期: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.lzm.student.service.Impl包里创建 StudentServiceImpl
实现StudentService 接口,空实现所有抽象方法
package net.lzm.student.service.impl;
import net.lzm.student.bean.Student;
import net.lzm.student.dao.StudentDao;
import net.lzm.student.dao.impl.StudentDaoImpl;
import net.lzm.student.service.StudentService;
import java.util.List;
import java.util.Vector;
/**
* 功能:
* 作者: lzm
* 日期: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<Student> findStudentsByName(String name) {
return studentDao.findByName(name);
}
@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> 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.lzm.student.service.Impl包里创建 UserServiceImpl
实现UserService 接口,空实现所有抽象方法
package net.lzm.student.service.impl;
import net.lzm.student.bean.User;
import net.lzm.student.dao.UserDao;
import net.lzm.student.dao.impl.UserDaoImpl;
import net.lzm.student.service.UserService;
import java.util.List;
/**
* 功能:
* 作者: lzm
* 日期: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<User> 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);
}
}