Controller层
package com.wzb.springbootmybatis20240920.ThreeLevelsExercise20240920.controller;import com.wzb.springbootmybatis20240920.Pojo.Emp;
import com.wzb.springbootmybatis20240920.Pojo.Result;import com.wzb.springbootmybatis20240920.ThreeLevelsExercise20240920.service.Service;
import com.wzb.springbootmybatis20240920.ThreeLevelsExercise20240920.service.ServiceInterface;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;// 注解
@RestController
public class Controller {@AutowiredServiceInterface service;@RequestMapping("/emp")public Result listEmp() {List<Emp> empList = service.getList();return Result.success(empList);}
}
Dao层
package com.wzb.springbootmybatis20240920.ThreeLevelsExercise20240920.dao;import com.wzb.springbootmybatis20240920.Pojo.Emp;
import com.wzb.springbootmybatis20240920.ThreeLevelsExercise20240920.utils.XmlParserUtils;
import org.springframework.stereotype.Component;import java.util.List;@Component
public class Dao implements DaoInterface{@Overridepublic List<Emp> getList() {// 加载.xml文件String filePath = this.getClass().getClassLoader().getResource("emp.xml").getFile();// 利用dom4j解析.xml文件// parse方法需要两个参数,需要解析文件的路径和要解析成的对象List<Emp> empList = XmlParserUtils.parse(filePath, Emp.class);return empList;}
}
Service层
package com.wzb.springbootmybatis20240920.ThreeLevelsExercise20240920.service;import com.wzb.springbootmybatis20240920.Pojo.Emp;
import com.wzb.springbootmybatis20240920.ThreeLevelsExercise20240920.dao.Dao;
import com.wzb.springbootmybatis20240920.ThreeLevelsExercise20240920.dao.DaoInterface;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import java.util.List;
import java.util.function.Consumer;@Component
public class Service implements ServiceInterface{@Autowiredprivate DaoInterface dao;@Overridepublic List<Emp> getList() {List<Emp> empList = dao.getList();// 按照业务逻辑处理userList中的数据empList.forEach(new Consumer<Emp>() {@Overridepublic void accept(Emp emp) {String gender = emp.getGender();if (gender.equals("1")) {emp.setGender("男");} else if (gender.equals("2")) {emp.setGender("女");} else {emp.setGender("Error");}String job = emp.getJob();switch (job) {case "1" -> emp.setJob("讲师");case "2" -> emp.setJob("班主任");case "3" -> emp.setJob("就业指导");default -> emp.setJob("Other");}}});return empList;}
}