Tlias智能學習輔助系統 01
- 創建員工、部門表
- 創建springboot工程,引入對應的起步依賴(web、mybatis、mysql驅動、lombok)
- 準備 Mapper、Service、Controller 等基礎結構
- Mapper
- Service
- Controller
- pojo封裝類
- application.properties
- 接口開發規范
創建員工、部門表
-- 創建tlias數據庫
sql> create database tlias;-- 部門管理
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());
mysql> select * from emp;
+----+--------------+----------+--------+--------+--------+------+------------+---------+---------------------+---------------------+
| id | username | password | name | gender | image | job | entrydate | dept_id | create_time | update_time |
+----+--------------+----------+--------+--------+--------+------+------------+---------+---------------------+---------------------+
| 1 | jinyong | 123456 | 金庸 | 1 | 1.jpg | 4 | 2000-01-01 | 2 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 2 | zhangwuji | 123456 | 張無忌 | 1 | 2.jpg | 2 | 2015-01-01 | 2 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 3 | yangxiao | 123456 | 楊逍 | 1 | 3.jpg | 2 | 2008-05-01 | 2 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 4 | weiyixiao | 123456 | 韋一笑 | 1 | 4.jpg | 2 | 2007-01-01 | 2 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 5 | changyuchun | 123456 | 常遇春 | 1 | 5.jpg | 2 | 2012-12-05 | 2 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 6 | xiaozhao | 123456 | 小昭 | 2 | 6.jpg | 3 | 2013-09-05 | 1 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 7 | jixiaofu | 123456 | 紀曉芙 | 2 | 7.jpg | 1 | 2005-08-01 | 1 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 8 | zhouzhiruo | 123456 | 周芷若 | 2 | 8.jpg | 1 | 2014-11-09 | 1 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 9 | dingminjun | 123456 | 丁敏君 | 2 | 9.jpg | 1 | 2011-03-11 | 1 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 10 | zhaomin | 123456 | 趙敏 | 2 | 10.jpg | 1 | 2013-09-05 | 1 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 11 | luzhangke | 123456 | 鹿杖客 | 1 | 11.jpg | 5 | 2007-02-01 | 3 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 12 | hebiweng | 123456 | 鶴筆翁 | 1 | 12.jpg | 5 | 2008-08-18 | 3 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 13 | fangdongbai | 123456 | 方東白 | 1 | 13.jpg | 5 | 2012-11-01 | 3 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 14 | zhangsanfeng | 123456 | 張三豐 | 1 | 14.jpg | 2 | 2002-08-01 | 2 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 15 | yulianzhou | 123456 | 俞蓮舟 | 1 | 15.jpg | 2 | 2011-05-01 | 2 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 16 | songyuanqiao | 123456 | 宋遠橋 | 1 | 16.jpg | 2 | 2007-01-01 | 2 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 17 | chenyouliang | 123456 | 陳友諒 | 1 | 17.jpg | NULL | 2015-03-21 | NULL | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
+----+--------------+----------+--------+--------+--------+------+------------+---------+---------------------+---------------------+
17 rows in set (0.00 sec)mysql> select * from dept;
+----+--------+---------------------+---------------------+
| id | name | create_time | update_time |
+----+--------+---------------------+---------------------+
| 1 | 學工部 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 2 | 教研部 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 3 | 咨詢部 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 4 | 就業部 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
| 5 | 人事部 | 2024-05-29 15:41:51 | 2024-05-29 15:41:51 |
+----+--------+---------------------+---------------------+
5 rows in set (0.00 sec)
創建springboot工程,引入對應的起步依賴(web、mybatis、mysql驅動、lombok)
創建完載入 Maven 項目
文件樹
準備 Mapper、Service、Controller 等基礎結構
Mapper(數據訪問層)
:首先創建Mapper接口和對應的XML文件或者注解配置,用于定義數據訪問的方法和SQL語句
Service(業務邏輯層)
:接著創建Service接口,定義業務邏輯的方法,然后創建其實現類,實現接口中定義的方法,并處理業務邏輯
Controller(表示層)
:最后創建Controller類,處理請求和響應,并調用Service層的方法完成業務邏輯
Mapper
DeptMapper.java
package com.futao.tliasspringbootweb.mapper;import org.apache.ibatis.annotations.Mapper;/*** 部門管理*/
@Mapper
public interface DeptMapper {
}
EmpMapper.java
package com.futao.tliasspringbootweb.mapper;import org.apache.ibatis.annotations.Mapper;/*** 員工管理*/
@Mapper
public interface EmpMapper {
}
Service
DeptService.java
package com.futao.tliasspringbootweb.service;/*** 部門管理*/
public interface DeptService {
}
EmpService.java
package com.futao.tliasspringbootweb.service;/*** 員工管理*/
public interface EmpService {
}
impl/DeptServiceImpl.java
package com.futao.tliasspringbootweb.service.impl;import com.futao.tliasspringbootweb.service.DeptService;
import org.springframework.stereotype.Service;@Service
public class DeptServiceImpl implements DeptService {
}
impl/EmpServiceImpl.java
package com.futao.tliasspringbootweb.service.impl;import com.futao.tliasspringbootweb.service.EmpService;
import org.springframework.stereotype.Service;@Service
public class EmpServiceImpl implements EmpService {
}
Controller
DeptController.java
package com.futao.tliasspringbootweb.controller;import org.springframework.web.bind.annotation.RestController;/*** 部門管理Controller*/
@RestController
public class DeptController {
}
EmpController.java
package com.futao.tliasspringbootweb.controller;import org.springframework.web.bind.annotation.RestController;/*** 員工管理Controller*/
@RestController
public class EmpController {
}
pojo封裝類
Dept.java
package com.futao.tliasspringbootweb.pojo;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;/*** 部門實體類*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Dept {private Integer id; //IDprivate String name; //部門名稱private LocalDateTime createTime; //創建時間private LocalDateTime updateTime; //修改時間
}
Emp.java
package com.futao.tliasspringbootweb.pojo;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDate;
import java.time.LocalDateTime;/*** 員工實體類*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Emp {private Integer id; //IDprivate String username; //用戶名private String password; //密碼private String name; //姓名private Short gender; //性別 , 1 男, 2 女private String image; //圖像urlprivate Short job; //職位 , 1 班主任 , 2 講師 , 3 學工主管 , 4 教研主管 , 5 咨詢師private LocalDate entrydate; //入職日期private Integer deptId; //部門IDprivate LocalDateTime createTime; //創建時間private LocalDateTime updateTime; //修改時間
}
接口統一響應結果封裝類
Result.java
package com.futao.tliasspringbootweb.pojo;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);}
}// { code: , msg: , data: }
application.properties
#驅動類名稱
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver#數據庫連接的url
spring.datasource.url=jdbc:mysql://localhost:3306/tlias#連接數據庫的用戶名
spring.datasource.username=root#連接數據庫的密碼
spring.datasource.password=你的密碼#配置mybatis的日志, 指定輸出到控制臺
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl#開啟mybatis的駝峰命名自動映射開關 a_column ------> aCloumn
mybatis.configuration.map-underscore-to-camel-case=true
接口開發規范
REST規范 || 傳統規范