以下是使用MyBatis的mapper接口开发完成上述功能的示例代码:

Employee.java:

public class Employee {
    private Integer id;
    private String empNo;
    private String empName;
    private String gender;
    private Integer age;
    private String hometown;
    private Date hireDate;
    private BigDecimal salary;
    
    // 省略getter和setter方法
}

EmployeeMapper.java:

public interface EmployeeMapper {
    List<Employee> getAllEmployees();
    
    void addEmployee(Employee employee);
    
    void updateEmployee(Employee employee);
    
    void deleteEmployee(String empNo);
    
    BigDecimal getAvgSalaryByGender(String gender);
    
    List<Employee> getEmployeesByRecentYear();
    
    List<Employee> getEmployeesByYears(int minYears, int maxYears);
    
    Employee getHighestSalaryEmployeeByAge(int age);
}

EmployeeMapper.xml:

<mapper namespace="com.example.EmployeeMapper">
    <resultMap id="employeeResultMap" type="com.example.Employee">
        <id property="id" column="id"/>
        <result property="empNo" column="emp_no"/>
        <result property="empName" column="emp_name"/>
        <result property="gender" column="gender"/>
        <result property="age" column="age"/>
        <result property="hometown" column="hometown"/>
        <result property="hireDate" column="hire_date"/>
        <result property="salary" column="salary"/>
    </resultMap>
    
    <select id="getAllEmployees" resultMap="employeeResultMap">
        SELECT * FROM employee;
    </select>
    
    <insert id="addEmployee">
        INSERT INTO employee (emp_no, emp_name, gender, age, hometown, hire_date, salary)
        VALUES (#{empNo}, #{empName}, #{gender}, #{age}, #{hometown}, #{hireDate}, #{salary});
    </insert>
    
    <update id="updateEmployee" parameterType="com.example.Employee">
        UPDATE employee
        SET emp_no = #{empNo}, emp_name = #{empName}, gender = #{gender},
        age = #{age}, hometown = #{hometown}, hire_date = #{hireDate}, salary = #{salary}
        WHERE id = #{id};
    </update>
    
    <delete id="deleteEmployee" parameterType="String">
        DELETE FROM employee WHERE emp_no = #{empNo};
    </delete>
    
    <select id="getAvgSalaryByGender" resultType="java.math.BigDecimal">
        SELECT AVG(salary) FROM employee WHERE gender = #{gender};
    </select>
    
    <select id="getEmployeesByRecentYear" resultMap="employeeResultMap">
        SELECT * FROM employee WHERE hire_date BETWEEN DATE_SUB(CURDATE(), INTERVAL 1 YEAR) AND CURDATE();
    </select>
    
    <select id="getEmployeesByYears" resultMap="employeeResultMap">
        SELECT * FROM employee WHERE hire_date BETWEEN DATE_SUB(CURDATE(), INTERVAL #{minYears} YEAR) AND DATE_SUB(CURDATE(), INTERVAL #{maxYears} YEAR);
    </select>
    
    <select id="getHighestSalaryEmployeeByAge" resultMap="employeeResultMap">
        SELECT * FROM employee WHERE age = #{age} ORDER BY salary DESC LIMIT 1;
    </select>
</mapper>

使用以上代码,你可以在MyBatis中完成对员工表的增删改查操作以及一些统计查询操作

新建员工表包含一下字段:员工编号员工姓名员工性别员工年龄员工籍贯入职时间薪资使用mybatis的mapper接口开发完成以下功能:1查询所有员工信息2新增一名员工信息3根据员工编号修改员工信息4根据员工编号删除员工信息5根据性别分组统计平均薪资6查询入职时间在最近一年的员工信息7查询入职两年到三年之间员工的最高薪资和最低薪资的员工信息8查询年龄为25岁的员工中最高薪资的员工信息

原文地址: http://www.cveoy.top/t/topic/ihOW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录