springboot+thymeleaf+mybatis 员工管理系统(保姆式教程)

目录

1、结果展示
2、需求分析
3、库表设计(概要设计)
4、详细设计
5、编码
6、用户模块
7、员工模块
8、测试
9、上线

Java学习、面试;文档、视频、刷题笔记+Java全栈开发学习路线图后台回复领取口令:“Java学习”即可

一、结果展示

我就先把完成的效果放出来,具体实现在后面

注册页面能动态实现验证码的切换验证,并且密码进行md5加密,

可以上传员工头像

更改员工信息可以选择是否重新上传头像

还可以删除和退出退出登录,并进行判断避免误删

需求分析

分析这个项目含有那些功能模块

用户模块

  • 注册
  • 登录
  • 验证码
  • 安全退出
  • 展示用户员工模块
  • 添加员工
  • 展示员工
  • 删除员工
  • 更新员工
  • 文件上传

库表设计(概要设计)

1、分析系统有那些表
2、分析表与表关系
3、确定表中字段(显性字段,隐性字段(业务字段))

用户表 user

字段:

  • id
  • username
  • realname
  • password
  • gender员工表 employee
  • id
  • name
  • salary
  • birthday
  • photosql代码
CREATE DATABASE springboot-thymeleaf

USE `springboot-thymeleaf`;



DROP TABLE IF EXISTS `employee`;

CREATE TABLE `employee` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(60) DEFAULT NULL COMMENT '员工姓名',
  `salary` double DEFAULT NULL COMMENT '员工工资',
  `birthday` datetime DEFAULT NULL COMMENT '员工生日',
  `photo` varchar(200) DEFAULT NULL COMMENT '头像路径',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(40) DEFAULT NULL COMMENT '用户名',
  `realname` varchar(60) DEFAULT NULL COMMENT '真实姓名',
  `password` varchar(40) DEFAULT NULL COMMENT '密码',
  `gender` tinyint DEFAULT NULL COMMENT '性别',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

详细设计

因为功能简单几乎没有什么难得就简略过了

编码

环境搭建

创建一个springboot项目

选择一些基本的依赖
这里我选了热部署,lombok,web,和thymeleaf

编写controller和thymeleaf做简单测试

@Controller
public class TestController {
    @RequestMapping("/index")
    public String index(Model model){
        model.addAttribute("msg","thymeleaf测试");
        return "index";
    }
}
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h2 th:text="${msg}"></h2>
</body>
</html>
整合mybatis

导入依赖
引入了mysql,mybatis,druid的依赖

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.20</version>
</dependency>

<dependency>
        
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.3</version>
</dependency>

<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.0</version>
</dependency>

yml配置

server:
  port: 8080
  servlet:
    context-path: /

#连接数据库的信息
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/springboot-thymeleaf?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8
    username: root
    password: 123456
    type: com.alibaba.druid.pool.DruidDataSource

    #Spring Boot 默认是不注入这些属性值的,需要自己绑定
    #druid 数据源专有配置
    initialSize: 5
    minIdle: 5
    maxActive: 20
    maxWait: 60000
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true

    #配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入
    #如果允许时报错  java.lang.ClassNotFoundException: org.apache.log4j.Priority
    #则导入 log4j 依赖即可,Maven 地址:https://mvnrepository.com/artifact/log4j/log4j
    filters: stat,wall,log4j
    maxPoolPreparedStatementPerConnectionSize: 20
    useGlobalDataSourceStat: true
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

  thymeleaf:
    cache: false
  servlet:
    multipart: #修改文件上传的大小限制
      max-request-size: 10MB #允许请求传递文件大小最大为10M
      max-file-size: 10MB  #允许服务器可以处理的最大文件大小  

mybatis:
  #  扫描映射文件
  mapper-locations: classpath:mapper/*.xml
  #  配置别名扫描的包
  type-aliases-package: com.blb.entity
  configuration:
    #   开启驼峰映射配置
    map-underscore-to-camel-case: true

logging:
  level:
    root: info
    com.blb: debug

启动文件扫描mapper

package com.blb;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.blb.mapper")
public class EmployeeApplication {

    public static void main(String[] args) {
        SpringApplication.run(EmployeeApplication.class, args);
    }

}

静态页面
页面因为时间原因和确实也不擅长写页面所有有点丑,包涵包涵(菜鸡落泪)

注册页面

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">

<head>
  <meta charset="UTF-8">
  <title>注册</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }

    html {
      height: 100%;
      width: 100%;
      overflow: hidden;
      margin: 0;
      padding: 0;
      background: url(img/bg.png) no-repeat 0px 0px;
      background-repeat: no-repeat;
      background-size: 100% 100%;
      -moz-background-size: 100% 100%;
    }

    body {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 100%;
    }

    #loginDiv {
      width: 37%;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 650px;
      background-color: rgba(
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值