八、项目开发实现步骤
(六)创建数据访问接口
DAO: Data Acess Object - 数据访问对象
系统有四张表:t_college、t_status、t_student与t_user表,对这四张表的操作就在相应的数据访问接口里进行规定,有四个数据访问接口:CollegeDao、StatusDao、StudentDao与UserDao。将这些接口放到net.akun.student.dao包里。
在net.akun.student根包里创建dao子包
1、创建学校数据访问接口
在net.akun.student.dao包里创建CollegeDao接口
package net.akun.student.dao;
import net.akun.student.bean.College;
/**
* 功能:学校数据访问接口
* 作者:akun
* 日期:2023年06月14日
*/
public interface CollegeDao {
College findById(int id); // 按标识符查询学校记录
int update(College college); // 更新学校记录
}
2、创建状态数据访问接口
在net.akun.student.dao包里创建StatusDao接口
package net.akun.student.dao;
import net.akun.student.bean.Status;
/**
* 功能:状态数据访问接口
* 作者:akun
* 日期:2023年06月14日
*/
public interface StatusDao {
Status findById(int id); // 按标识符查询状态记录
int update(Status status); // 更新状态记录
}
3、创建学生数据访问接口
在net.akun.student.dao包里创建StudentDao接口
package net.akun.student.dao;
import net.akun.student.bean.Student;
import java.util.List;
import java.util.Vector;
/**
* 功能:学生数据访问接口口
* 作者:akun
* 日期:2023年06月14日
*/
public interface StudentDao {
int insert(Student student); // 插入学生记录
int deleteById(String id); // 按标识符删除学生记录
int deleteByClass(String clazz); // 按班级删除学生记录
int deleteByDepartment(String department); // 按系部删除学生记录
int update(Student student); // 更新学生记录
Student findById(String id); // 按标识符查询学生记录
List<Student> findByName(String name); // 按姓名查询学生记录
List<Student> findByClass(String clazz); // 按班级查询学生记录
List<Student> findByDepartment(String department); // 按系部查询学生记录
List<Student> findAll(); // 查询全部学生记录
Vector findRowsBySex(); // 按性别统计人数
Vector findRowsByClass(); // 按班级统计人数
Vector findRowsByDepartment(); // 按系部统计人数
}
4、创建用户数据访问接口
在net.akun.student.dao包里创建UserDao接口
package net.akun.student.dao;
import net.akun.student.bean.User;
import java.util.List;
/**
* 功能:用户数据访问接口
* 作者:akun
* 日期:2023年06月14日
*/
public interface UserDao {
int insert(User user); // 插入用户记录
int deleteById(int id); // 按标识符删除用户记录
int update(User user); // 更新用户记录
User findById(int id); // 按标识符查询用户记录
List<User> findAll(); // 查询全部用户记录
User login(String username, String password); // 登录方法
boolean isUsernameExisted(String username); // 用户名是否存在
}
思考:为什么要创建数据访问接口?采用接口加实现类的分层处理方式有什么好处?
数据访问接口解决What的问题,数据访问接口实现类解决How的问题。分层处理,效率更高。