员工信息的增删改查
关注点:
- 员工与部门的关联关系
- 默认登录密码
dao与映射文件
EmployeeDao
package com.imooc.oa.dao;
import com.imooc.oa.entity.Department;
import com.imooc.oa.entity.Employee;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository(value = "employeeDao")
public interface EmployeeDao {
void insert(Employee employee);
void update(Employee employee);
void delete(String sn);
Employee select(String sn);
List<Employee> selectAll();
List<Employee> selectByDepartmentAndPost(@Param("dsn") String dsn,@Param("post") String post);
}
EmployeeDao.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.4//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.imooc.oa.dao.EmployeeDao">
<resultMap id="employee" type="Employee">
<id property="sn" column="sn" javaType="String"/>
<result property="password" column="password" javaType="String"/>
<result property="name" column="name" javaType="String"/>
<result property="departmentSn" column="department_sn" javaType="String"/>
<result property="post" column="post" javaType="String"/>
<association property="department" column="department_sn" javaType="Department" >
<id property="sn" column="dsn" javaType="String"/>
<result property="name" column="dname" javaType="String"/>
</association>
</resultMap>
<insert id="insert" parameterType="Employee">
insert into employee values(#{sn},#{password},#{name},#{departmentSn},#{post})
</insert>
<update id="update" parameterType="Employee">
update employee set name=#{name},password=#{password},department_sn=#{departmentSn},post=#{post} where sn=#{sn}
</update>
<delete id="delete" parameterType="String">
delete from employee where sn=#{sn}
</delete>
<select id="select" parameterType="String" resultMap="employee">
select e.*,d.sn dsn,d.name dname from employee e left join department d on d.sn=e.department_sn
where e.sn=#{sn}
</select>
<select id="selectAll" resultMap="employee">
select e.*,d.sn dsn,d.name dname from employee e left join department d on d.sn=e.department_sn
</select>
<select id="selectByDepartmentAndPost" resultMap="employee">
select e.*,d.sn dsn,d.name dname from employee e left join department d on d.sn=e.department_sn
where e.sn is not NULL
<if test="dsn!=null">
and e.department_sn=#{dsn}
</if>
<if test="post!=null">
and e.post=#{post}
</if>
</select>
</mapper>
biz接口与其实现类
EmployeeBiz
package com.imooc.oa.biz;
import com.imooc.oa.entity.Department;
import com.imooc.oa.entity.Employee;
import java.util.List;
public interface EmployeeBiz {
void add(Employee employee);
void edit(Employee employee);
void remove(String sn);
Employee get(String sn);
List<Employee> getAll();
}
EmployeeBizImpl
package com.imooc.oa.biz.impl;
import com.imooc.oa.biz.EmployeeBiz;
import com.imooc.oa.dao.EmployeeDao;
im