Springboot之整合Springmvc

 结构:

config:用来存放springmvc配置

package com.example.shiper.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class MvcConfiguation implements WebMvcConfigurer {
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("login");

    }
}

 实现WebMvcConfigurer接口重写其内部方法

 上图重写了添加视图控制器


controller:用来控制页面的逻辑跳转功能

package com.example.shiper.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.thymeleaf.util.StringUtils;

@Controller
public class LoginController {
    @RequestMapping("/user/demo")
    public String login(
            @RequestParam("username") String username,
            @RequestParam("password") String password,
            Model model)
    {
        if (!StringUtils.isEmpty(username) && "123456".equals(password))
        {
            return "index";
        }
        else {
            model.addAttribute("msg","用户名或密码错误");
            return "da";

        }
    }
}

dao:用来操作数据库

DepatrmentDao类

package com.example.shiper.dao;

import com.example.shiper.pojo.Department;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

//部门dao
 @Repository
public class DepartmentDao {
    //模拟数据库中的数据

    private static Map<Integer, Department> departments = null;

    static {
        departments = new HashMap<Integer, Department>();//创建一个部门表
        departments.put(101, new Department(101, "教学部"));
        departments.put(102, new Department(102, "教研部"));
        departments.put(103, new Department(103, "市场部"));
        departments.put(104, new Department(104, "运营部"));
        departments.put(105, new Department(105, "后勤部"));
    }
    //获得所有部门信息
    public Collection<Department> getDepartments(){
        return departments.values();
    }
    //通过id得到部门
    public Department getDepartmentByID(Integer id){
        return departments.get(id);
    }


}

EmployeeDao类 

底层数据库方法

package com.example.shiper.dao;

import com.example.shiper.pojo.Department;
import com.example.shiper.pojo.Employee;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

@Repository
public class EmployeeDao {
    //模拟数据库中的数据

    private static Map<Integer, Employee> employeeMap = null;
    @Autowired
    private  DepartmentDao departmentDao;

    static {
        employeeMap = new HashMap<Integer, Employee>();//创建一个部门表
        employeeMap.put(101, new Employee(1001,"AA","21361@qq.com",0,new Department(101,"教学部")));
        employeeMap.put(102, new Employee(1002,"BB","21361@qq.com",1,new Department(102,"教研部")));
        employeeMap.put(103, new Employee(1003,"CC","21361@qq.com",1,new Department(103,"市场部")));
        employeeMap.put(104, new Employee(1004,"DD","21361@qq.com",0,new Department(104,"运营部")));
        employeeMap.put(105, new Employee(1005,"EE","21361@qq.com",1,new Department(105,"后勤部")));
    }
    //主键自增
    private static Integer initId = 1006;
    //增加员工
    public  void save(Employee employee){
        if (employee.getId()==null){
            employee.setId(initId++);
        }
        employee.setDepartment(departmentDao.getDepartmentByID(employee.getDepartment().getId()));
        employeeMap.put(employee.getId(),employee);
    }
    //查询全部员工信息
    public Collection<Employee> getAll(){
        return  employeeMap.values();
    }
    //通过id查询员工
    public Employee getEmployeeById(Integer id){
        return employeeMap.get(id);
    }
    //删除员工
    public void  delete(Integer id){
        employeeMap.remove(id);
    }
}

pojo:存放实体类


Department类
package com.example.shiper.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

//部门表
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Department {
    private Integer id;
    private String name;
}

Employee类

底层数据库方法实现

package com.example.shiper.pojo;


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@NoArgsConstructor
//员工表
public class Employee {
    private Integer id;
    private String lastName;
    private String email;
    private Integer gender; //0 ;女 1:男
    private Department department;
    private Date birth;

    public Employee(Integer id, String lastName, String email, Integer gender, Department department ) {
        this.id = id;
        this.lastName = lastName;
        this.email = email;
        this.gender = gender;
        this.department = department;
        //默认日期
        this.birth = new Date();
    }
}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值