网站规划可以分成哪几步,全网最低价业务网站,铜川哪些公司需要网页电商设计师,家纺网站设计准备工作
需求环境搭建
需求#xff1a; 部门管理#xff1a; 查询部门列表 删除部门 新增部门 修改部门 员工管理 查询员工列表#xff08;分页、条件#xff09; 删除员工 新增员工 修改员工 环境搭建 准备数据库表#xff08;dept、emp#xff09;
-- 部门管理…准备工作
需求环境搭建
需求 部门管理 查询部门列表 删除部门 新增部门 修改部门 员工管理 查询员工列表分页、条件 删除员工 新增员工 修改员工 环境搭建 准备数据库表dept、emp
-- 部门管理
create table dept(id int unsigned primary key auto_increment comment 主键ID,name varchar(10) not null unique comment 部门名称,create_time datetime not null comment 创建时间,update_time datetime not null comment 修改时间
) comment 部门表;insert into dept (id, name, create_time, update_time) values(1,学工部,now(),now()),(2,教研部,now(),now()),(3,咨询部,now(),now()), (4,就业部,now(),now()),(5,人事部,now(),now());-- 员工管理(带约束)
create table emp (id int unsigned primary key auto_increment comment ID,username varchar(20) not null unique comment 用户名,password varchar(32) default 123456 comment 密码,name varchar(10) not null comment 姓名,gender tinyint unsigned not null comment 性别, 说明: 1 男, 2 女,image varchar(300) comment 图像,job tinyint unsigned comment 职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管, 5 咨询师,entrydate date comment 入职时间,dept_id int unsigned comment 部门ID,create_time datetime not null comment 创建时间,update_time datetime not null comment 修改时间
) comment 员工表;INSERT INTO emp(id, username, password, name, gender, image, job, entrydate,dept_id, create_time, update_time) VALUES(1,jinyong,123456,金庸,1,1.jpg,4,2000-01-01,2,now(),now()),(2,zhangwuji,123456,张无忌,1,2.jpg,2,2015-01-01,2,now(),now()),(3,yangxiao,123456,杨逍,1,3.jpg,2,2008-05-01,2,now(),now()),(4,weiyixiao,123456,韦一笑,1,4.jpg,2,2007-01-01,2,now(),now()),(5,changyuchun,123456,常遇春,1,5.jpg,2,2012-12-05,2,now(),now()),(6,xiaozhao,123456,小昭,2,6.jpg,3,2013-09-05,1,now(),now()),(7,jixiaofu,123456,纪晓芙,2,7.jpg,1,2005-08-01,1,now(),now()),(8,zhouzhiruo,123456,周芷若,2,8.jpg,1,2014-11-09,1,now(),now()),(9,dingminjun,123456,丁敏君,2,9.jpg,1,2011-03-11,1,now(),now()),(10,zhaomin,123456,赵敏,2,10.jpg,1,2013-09-05,1,now(),now()),(11,luzhangke,123456,鹿杖客,1,11.jpg,5,2007-02-01,3,now(),now()),(12,hebiweng,123456,鹤笔翁,1,12.jpg,5,2008-08-18,3,now(),now()),(13,fangdongbai,123456,方东白,1,13.jpg,5,2012-11-01,3,now(),now()),(14,zhangsanfeng,123456,张三丰,1,14.jpg,2,2002-08-01,2,now(),now()),(15,yulianzhou,123456,俞莲舟,1,15.jpg,2,2011-05-01,2,now(),now()),(16,songyuanqiao,123456,宋远桥,1,16.jpg,2,2007-01-01,2,now(),now()),(17,chenyouliang,123456,陈友谅,1,17.jpg,NULL,2015-03-21,NULL,now(),now()); 创建springboot工程引入对应的起步依赖web、mybatis、mysql驱动、lombok 配置文件application.properties中引入mybatis的配置信息准备对应的实体类 #?????
spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver
#??????url
spring.datasource.urljdbc:mysql://localhost:3306/tlias
#?????????
spring.datasource.usernameroot
#????????
spring.datasource.password1234#??mybatis???, ????????
mybatis.configuration.log-implorg.apache.ibatis.logging.stdout.StdOutImpl#??mybatis??????????? a_column ------ aCloumn
mybatis.configuration.map-underscore-to-camel-casetrue准备对应的Mapper、Service接口、实现类、Controller基础结构 开发规范
案例基于当前最主流的前后端分离模式进行开发 Restful REST表述性状态转换它是一种软件架构分格 注意REST是风格是约定方式约定不是规定可以打破 描述模块的功能通常使用复数也就是加s的格式来描述表示此类资源而非单个资源如users、emps、books....
前后端交互统一响应结果Result
package com.itbignyi.tliaswebmanagement.pojp;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;Data
NoArgsConstructor
AllArgsConstructor
public class Result {private Integer code;//响应码1 代表成功; 0 代表失败private String msg; //响应信息 描述字符串private Object data; //返回的数据//增删改 成功响应public static Result success() {return new Result(1, success, null);}//查询 成功响应public static Result success(Object data) {return new Result(1, success, data);}//失败响应public static Result error(String msg) {return new Result(0, msg, null);}
}部门管理
查询部门
代码如下
package com.itbignyi.tliaswebmanagement.controller;import com.itbignyi.tliaswebmanagement.pojp.Dept;
import com.itbignyi.tliaswebmanagement.pojp.Result;
import com.itbignyi.tliaswebmanagement.service.DeptService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;Slf4j
RestController
public class DeptController {Autowiredprivate DeptService deptService;GetMapping(/depts)public Result list() {log.info(查询全部部门数据);ListDept deptList deptService.list();return Result.success(deptList);}}package com.itbignyi.tliaswebmanagement;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication
public class TliasWebManagementApplication {public static void main(String[] args) {SpringApplication.run(TliasWebManagementApplication.class, args);}}package com.itbignyi.tliaswebmanagement.service;import com.itbignyi.tliaswebmanagement.pojp.Dept;import java.util.List;public interface DeptService {ListDept list();
}package com.itbignyi.tliaswebmanagement.service.impl;import com.itbignyi.tliaswebmanagement.mapper.DeptMapper;
import com.itbignyi.tliaswebmanagement.pojp.Dept;
import com.itbignyi.tliaswebmanagement.service.DeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;Service
public class DeptServiceImpl implements DeptService {Autowiredprivate DeptMapper deptMapper;Overridepublic ListDept list() {return deptMapper.list();}
}package com.itbignyi.tliaswebmanagement.mapper;import com.itbignyi.tliaswebmanagement.pojp.Dept;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;import java.util.List;Mapper
public interface DeptMapper {Select(select *from tlias.dept)ListDept list();
}运行代码 前后端联调 删除部门
代码如下 DeleteMapping(/depts/{id})public Result delete(PathVariable Integer id) {log.info(根据id删除部门{}, id);deptService.delete(id);return Result.success();} void delete(Integer id);Overridepublic void delete(Integer id) {deptMapper.deleteById(id);}
Delete(delete from tlias.dept where id#{id})void deleteById(Integer id); 运行如下 新增部门 GetMapping(/depts/{id})public Result selectById(PathVariable Integer id){log.info(获取id为id的数据);Dept dept deptService.selectById(id);return Result.success(dept);}/** 修改部门* */PutMapping(/depts)public Result update(RequestBody Dept dept){log.info(修改部门dept);deptService.update(dept);return Result.success();} Select(select * from tlias.dept where id#{id};)Dept selectById(Integer id);Update(update tlias.dept set name #{name}, update_time #{updateTime} where id #{id})void update(Dept dept);Dept selectById(Integer id);void update(Dept dept); Overridepublic Dept selectById(Integer id){Dept dept deptMapper.selectById(id);return dept;}Overridepublic void update(Dept dept){dept.setUpdateTime(LocalDateTime.now());deptMapper.update(dept);}