创建Java项目并书写代码1. 实现教师登录功能,登录成功显示学生列表页面,失败提示账号密码错误。(10分) 2. 完成学生表的查询功能,并实现学生分页查询功能。(10分) 3. 实现学生表修改编辑功能,要求点击修改默认显示学生信息,并且完成学号,姓名班级在提交前做非空校验。(10分) 4. 实现学生表修改保存功能,要求学号不可更改。(10分) 5. 利用Redis实现学生表查询缓存功能。(10分)
时间: 2024-03-11 15:47:31 浏览: 62
很高兴为您提供Java代码实现,以下是对您的问题的回答:
1. 实现教师登录功能,登录成功显示学生列表页面,失败提示账号密码错误。
Teacher.java
```
public class Teacher {
private String account;
private String password;
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
```
TeacherDAO.java
```
public class TeacherDAO {
public boolean verify(Teacher teacher) {
// 根据账号密码查询数据库,判断是否正确
// 如果正确,返回true,否则返回false
}
}
```
TeacherService.java
```
public class TeacherService {
private TeacherDAO teacherDAO;
public TeacherService() {
teacherDAO = new TeacherDAO();
}
public boolean login(Teacher teacher) {
boolean result = teacherDAO.verify(teacher);
if (result) {
// 登录成功,显示学生列表页面
showStudentList();
} else {
// 登录失败,提示账号密码错误
System.out.println("账号密码错误!");
}
return result;
}
private void showStudentList() {
// 显示学生列表页面
}
}
```
2. 完成学生表的查询功能,并实现学生分页查询功能。
Student.java
```
public class Student {
private String studentId;
private String name;
private String className;
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
}
```
StudentDAO.java
```
public class StudentDAO {
public List<Student> search(String keyword, int page, int pageSize) {
// 根据关键字查询数据库,返回学生列表
}
}
```
StudentService.java
```
public class StudentService {
private StudentDAO studentDAO;
public StudentService() {
studentDAO = new StudentDAO();
}
public List<Student> search(String keyword, int page, int pageSize) {
return studentDAO.search(keyword, page, pageSize);
}
}
```
3. 实现学生表修改编辑功能,要求点击修改默认显示学生信息,并且完成学号,姓名班级在提交前做非空校验。
StudentEdit.java
```
public class StudentEdit {
private StudentService studentService;
private Student student;
public StudentEdit(StudentService studentService, String studentId) {
this.studentService = studentService;
this.student = studentService.get(studentId);
if (student == null) {
// 如果学生不存在,提示错误信息
System.out.println("学生不存在!");
} else {
// 显示学生信息
showStudentInfo();
}
}
private void showStudentInfo() {
// 显示学生信息
}
public boolean save(Student student) {
// 非空校验
if (StringUtils.isBlank(student.getStudentId()) || StringUtils.isBlank(student.getName()) || StringUtils.isBlank(student.getClassName())) {
System.out.println("学号、姓名、班级不能为空!");
return false;
}
// 学号不可更改
if (!student.getStudentId().equals(this.student.getStudentId())) {
System.out.println("学号不能修改!");
return false;
}
// 保存学生信息
boolean result = studentService.save(student);
if (result) {
System.out.println("保存成功!");
} else {
System.out.println("保存失败!");
}
return result;
}
}
```
4. 实现学生表修改保存功能,要求学号不可更改。
StudentDAO.java
```
public class StudentDAO {
public Student get(String studentId) {
// 根据学号查询数据库,返回学生信息
}
public boolean save(Student student) {
// 保存学生信息到数据库
}
}
```
StudentService.java
```
public class StudentService {
private StudentDAO studentDAO;
public StudentService() {
studentDAO = new StudentDAO();
}
public Student get(String studentId) {
return studentDAO.get(studentId);
}
public boolean save(Student student) {
return studentDAO.save(student);
}
}
```
5. 利用Redis实现学生表查询缓存功能。
RedisUtil.java
```
public class RedisUtil {
// 初始化Redis连接池
private static JedisPool jedisPool = new JedisPool("localhost", 6379);
public static void set(String key, String value) {
try (Jedis jedis = jedisPool.getResource()) {
jedis.set(key, value);
}
}
public static String get(String key) {
try (Jedis jedis = jedisPool.getResource()) {
return jedis.get(key);
}
}
}
```
StudentDAO.java
```
public class StudentDAO {
public List<Student> search(String keyword, int page, int pageSize) {
// 先从缓存中查询,如果缓存中不存在,再从数据库中查询
String cacheKey = "student:" + keyword + ":" + page + ":" + pageSize;
String cacheValue = RedisUtil.get(cacheKey);
if (StringUtils.isNotBlank(cacheValue)) {
return JSON.parseArray(cacheValue, Student.class);
}
List<Student> studentList = // 根据关键字查询数据库,返回学生列表
RedisUtil.set(cacheKey, JSON.toJSONString(studentList));
return studentList;
}
}
```
以上是Java代码的简单实现,具体细节还需要根据您的实际需求进行调整。希望能够帮到您!
阅读全文