部门模块实现
流程
1.创建数据库
-- ---------------------------- -- Table structure for department -- ---------------------------- DROP TABLE IF EXISTS `department`; CREATE TABLE `department` ( `d_id` int(0) NOT NULL AUTO_INCREMENT COMMENT 'id', `d_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '部门名称', `d_remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', `d_isdel` int(0) NULL DEFAULT NULL COMMENT '可用状态,0不可用,1可用', PRIMARY KEY (`d_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 25 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of department -- ---------------------------- INSERT INTO `department` VALUES (10, '财务部', '组织公司资产资金、成本费用、收入往来、退税纳税等财务核算和财务管理工作', 1); INSERT INTO `department` VALUES (11, '市场部', '组织市场调查和研究,掌握市场供求信息和行业动态,不定期编制市场动态分析报告,为公司经营决策提供依据。', 1); INSERT INTO `department` VALUES (13, '行政部', '负责公司日常行政后勤管理、党务及工、青、妇群众团体管理工作。', 1); INSERT INTO `department` VALUES (14, '人事部', '负责公司人力资源管理与开发。', 1); INSERT INTO `department` VALUES (16, '开发部', '负责产品设计研发、技术开发等。', 1); INSERT INTO `department` VALUES (19, '营销部', '产品销售、业务洽谈。', 1); INSERT INTO `department` VALUES (20, '售后服务部', '负责客户维护、提供产品售后服务。', 1); INSERT INTO `department` VALUES (21, '设计部', '负责产品设计实现。', 1); INSERT INTO `department` VALUES (22, '测试维护部', '负责产品测试、检查,维护产品质量。', 0);
2.创建实体类
package com.esms.dao; public class Department { private Integer dId;//部门ID,主键 private String dName;//部门名称 private String dRemark;//部门备注 private Integer dIsdel;//部门是否被删除 public Integer getdId() { return dId; } public void setdId(Integer dId) { this.dId = dId; } public String getdName() { return dName; } public void setdName(String dName) { this.dName = dName == null ? null : dName.trim(); } public String getdRemark() { return dRemark; } public void setdRemark(String dRemark) { this.dRemark = dRemark == null ? null : dRemark.trim(); } public Integer getdIsdel() { return dIsdel; } public void setdIsdel(Integer dIsdel) { this.dIsdel = dIsdel; } @Override public String toString() { return "Department{" + "dId=" + dId + ", dName='" + dName + '\'' + ", dRemark='" + dRemark + '\'' + ", dIsdel=" + dIsdel + '}'; } }
3.建立连接数据库接口
package com.esms.mapper; import com.esms.dao.Department; import java.util.List; public interface DepartmentMapper{ int deleteByPrimaryKey(Integer dId); //通过主键删除部门 int insert(Department record); //插入 int insertSelective(Department record); //插入 Department selectByPrimaryKey(Integer dId); //通过主键查找部门 List<Department> selectAll(); //查找所有 int updateByPrimaryKeySelective(Department record); //通过主键更新部门 int updateByPrimaryKey(Department record); //通过主键更新部门 List<Department> findSelective(Department department); //通过部门名字查找部门,模糊查询 void deleteByQuery(int[] ids); //删除部门,参数是一个数组,实际上是将dIsdel设置为0 Department findByDname(String d_name); //通过名字查找部门 }
4.建立服务业务层
接口
package com.esms.service; import com.esms.dao.Department; import java.util.List; public interface DepartmentService { public Department selectByPrimaryKey(int id) throws Exception; int insertSelective(Department department) throws Exception; void updateByPrimaryKeySelective(Department department) throws Exception; void deleteByPrimaryKey(int id) throws Exception; List<Department> findSelective(Department department) throws Exception; void deleteByQuery(int[] ids); Department findByDname(String d_name); }
实现类
package com.esms.service.impl; import com.esms.mapper.DepartmentMapper; import com.esms.dao.Department; import com.esms.service.DepartmentService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class DepartmentServiceImpl implements DepartmentService { @Autowired public DepartmentMapper departmentMapper = null; @Override public Department selectByPrimaryKey(int id) { return departmentMapper.selectByPrimaryKey(id); } @Override public int insertSelective(Department department) { return departmentMapper.insertSelective(department); } @Override public void updateByPrimaryKeySelective(Department department) { departmentMapper.updateByPrimaryKeySelective(department); } @Override public void deleteByPrimaryKey(int id) { departmentMapper.deleteByPrimaryKey(id); } @Override public List<Department> findSelective(Department department) { return departmentMapper.findSelective(department); } @Override public void deleteByQuery(int[] ids) { departmentMapper.deleteByQuery(ids); } @Override public Department findByDname(String d_name) { return departmentMapper.findByDname(d_name); } }
5.vo层
package com.esms.vo; import com.esms.dao.Department; import java.util.List; public class DepartmentPages { Integer code; String msg; Integer count; List<Department> data; public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public Integer getCount() { return count; } public void setCount(Integer count) { this.count = count; } public List<Department> getData() { return data; } public void setData(List<Department> data) { this.data = data; } @Override public String toString() { return "DepartmentPages{" + "code=" + code + ", msg='" + msg + '\'' + ", count=" + count + ", data=" + data + '}'; } }
6.控制层
package com.esms.controller; import com.esms.dao.Department; import com.esms.service.DepartmentService; import com.esms.vo.DepartmentPages; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; /** * */ @Controller @RequestMapping("/department") public class DepartmentController { @Autowired public DepartmentService departmentService = null; /** * 查找部门 * @param pageNum * @param limit * @param d_name * @return * @throws Exception */ @RequestMapping("/findSelective.do") @ResponseBody public DepartmentPages findSelective( @RequestParam(value="page", defaultValue="1")int pageNum, @RequestParam(value="limit", defaultValue="5") int limit, @RequestParam(value="d_name", defaultValue="") String d_name) throws Exception { List<Department> list; //模糊查询,有多少个条件就接收多少个字段 Department department = new Department(); department.setdName(d_name); //pageNum:起始页面 pageSize:每页的大小 PageHelper.startPage(pageNum,limit);//(1,10) //查找条件,一定要紧跟在startPage后,紧跟着的第一个select 方法会被分页 list = departmentService.findSelective(department); PageInfo pageResult = new PageInfo(list); //设置前台需要的数据 DepartmentPages departmentPages = new DepartmentPages(); departmentPages.setCode(0); departmentPages.setMsg(""); departmentPages.setCount((int) pageResult.getTotal()); departmentPages.setData(pageResult.getList()); return departmentPages; } /** * 添加部门 * @param d_name * @param d_remark * @return * @throws Exception */ @RequestMapping("/add.do") @ResponseBody public int add(String d_name, String d_remark) throws Exception { Department department = departmentService.findByDname(d_name); //查找是否同名 if(department != null) { return department.getdId(); } else { Department d = new Department(); d.setdId(null); d.setdName(d_name); d.setdRemark(d_remark); d.setdIsdel(1); departmentService.insertSelective(d); return 0; } } /** * 查找一个部门 * @param id * @return * @throws Exception */ @RequestMapping("/findByPrimaryKey.do") @ResponseBody public Department findByPrimaryKey(int id) throws Exception { Department department = departmentService.selectByPrimaryKey(id); return department; } /** * 更新部门 * @param id * @param d_name * @param d_remark * @throws Exception */ @RequestMapping("/updateByPrimaryKey.do") @ResponseBody public int updateByPrimaryKey(int id, String d_name, String d_remark) throws Exception { Department department = departmentService.findByDname(d_name); //有同名的且不是同一个 if(department != null && !department.getdId().equals(id) ) { return department.getdId(); } else { Department d = new Department(); d.setdId(id); d.setdName(d_name); d.setdRemark(d_remark); d.setdIsdel(null); departmentService.updateByPrimaryKeySelective(d); return 0; } } @RequestMapping("/findByDname.do") @ResponseBody public int findByDname(String d_name) { Department department = departmentService.findByDname(d_name); if(department != null) { return department.getdId(); } else { return 0; } } /** * 删除部门 * @param id */ @RequestMapping("/deleteByPrimaryKey.do") @ResponseBody public int deleteByPrimaryKey(int id) throws Exception { //删除部门,调用更新操作,将状态改为0 Department department = new Department(); department.setdId(id); department.setdIsdel(0); departmentService.updateByPrimaryKeySelective(department); return 1; } /** * 批量删除 * @param ids */ @RequestMapping("/deleteByQuery.do") public void deleteByQuery (@RequestParam(value = "arr")int[] ids) { //批量删除,实则修改状态为0 //如果有id才执行 if(ids.length > 0) { departmentService.deleteByQuery(ids); } } }