人员管理系统 - 部门管理业务实现

  1. 在sm.service中entity中新建一个实体类Department,设置好setter和geter方法
  2. 在Dao包中编写持久层的增删改查的接口DepartmentDao
    @Repository("departmentDao")
    public interface DepartmentDao {
      void insert(Department department);
      void delete(Integer id);
      void update(Department department);
      Department selectById(Integer id);
      List<Department> selectAll();
    }
  • 由于整合了mybatis开发,所以要在resources中创建一个mapper.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.sm.dao.DepartmentDao">
    <!--实体类和表的对应关系-->
    <resultMap id="resultMap" type="Department">
        <!--如果对应数据库中的字段是主键的话,就用id这个标签-->
        <id property="id" column="id" javaType="Integer"/>
        <result property="name" column="name" javaType="String"/>
        <result property="address" column="address" javaType="String"/>
    </resultMap>
    <!--配置sql-->
    <!--useGeneratedKeys="true" insert要引入自增-->
    <insert id="insert"  parameterType="Department" useGeneratedKeys="true" keyProperty="id">
        insert into department(name,address) values(#{name},#{address})
    </insert>

    <delete id="delete" parameterType="Integer" >
        delete from department where id = #{id}
    </delete>

    <update id="update" parameterType="Department">
        update department set name = #{name},address=#{address} where id = #{id}
    </update>

    <select id="selectById" parameterType="Integer" resultMap="resultMap">
        select * from department where id = #{id}
    </select>

    <select id="selectAll" resultMap="resultMap">
        select * from department
    </select>
</mapper>

3.在service中编写DepartmentService接口
大部分情况下,service接口中的方法与dao中的方法大致上是一致的。

public interface DepartmentService {
    void add(Department department);
    void remove(Integer id);
    void edit(Department department);
    Department get(Integer id);
    List<Department> getAll();
}
  • 实现DepartmentService接口

    package com.imooc.sm.service.impl;
    import com.imooc.sm.dao.DepartmentDao;
    import com.imooc.sm.entity.Department;
    import com.imooc.sm.service.DepartmentService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import java.util.List;
    @Service("departmentService")
    public class DepartmentServiceImpl implements DepartmentService {
      @Autowired
      private DepartmentDao departmentDao;
      public void add(Department department) {
          departmentDao.insert(department);
      }
    
      public void remove(Integer id) {
          departmentDao.delete(id);
      }
    
      public void edit(Department department) {
          departmentDao.update(department);
      }
    
      public Department get(Integer id) {
    
          return departmentDao.selectById(id);
      }
    
      public List<Department> getAll() {
    
          return departmentDao.selectAll();
      }
    }

4.这里需要添加spring标签的地方有:

  • dao层中要添加@Repository("departmentDao")
  • service层中要添加的是@Service("departmentService")
  1. 这里出现里两个错误
    • 在mapper.xml也是departmentDao的文件的xml映射文件中的错误,id属性没有写colmun
    • resources这个资源文件路径下mapper.xml要与departmentDao的路径一致。在创建包时要com/imooc/sm/dao
      参考一下解释:
      IDEA中关于mapper.xml文件和dao接口路径及文件名相同的问题
      https://blog.csdn.net/MrSuper_cat/article/details/104436318/
全部评论

相关推荐

醉蟀:你不干有的是人干
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务