spring boot+layui实现增删改查实战

说明:

    最近在做一个后台,希望用一个现成的前端模板,找了一圈发现Layui比较合适。我知道很多人都有这个需求,为了使大家快速上手,我把自己写的最实用的增删改查案例完整的展示出来。

 

需要源码的请留下邮箱!

 

Layui官网:https://www.layui.com/doc/

 

后台:spring boot2.0,数据的话用的list没连接数据库。

前端:layui-v2.5.5

 

启动后访问: http://localhost:8080/admin.html

 

页面展示:

spring boot+layui实现增删改查实战_第1张图片

 

操作展示:

 

开发步骤:

 

1.搭建spring boot工程,引入layui资源

这一步很简单, 我就省了。

 

2.编写前端页面admin.html

这一步可以拿网上的直接改的。改过之后如下:





    
    
    layout 后台大布局 - Layui
    



 

3.编写后端代码

3.1 创建用户实体

package com.laoxu.test.helloweb.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;

/**
 * @Description: 用户实体
 * @Author laoxu
 * @Date 2019/12/21 9:56
 **/
@Data
public class LayuiUser {
    private int id;
    private String name;
    private String city;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
    private Date birthday;

    public LayuiUser(){}

    public LayuiUser(int id, String name, String city, Date birthday) {
        this.id = id;
        this.name = name;
        this.city = city;
        this.birthday = birthday;
    }
}

3.2 创建用户DAO

package com.laoxu.test.helloweb.dao;

import com.laoxu.test.helloweb.entity.LayuiUser;
import org.springframework.stereotype.Repository;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;

/**
 * @Description: 操作用户数据
 * @Author laoxu
 * @Date 2019/12/21 10:07
 **/
@Repository
public class LayuiUserDao {
    private static List users = new ArrayList<>();

    static {

        for (int i = 1; i <= 100; i += 3) {
            users.add(new LayuiUser(i, "张三" + i, "上海", new Date()));
            users.add(new LayuiUser(i + 1, "李四" + i, "北京", new Date()));
            users.add(new LayuiUser(i + 2, "王二麻" + i, "广州", new Date()));
        }
    }

    //http://www.layui.com/demo/table/user/?page=1&limit=10

    /**
     * 获得所有用户
     */
    public List getPager(int page, int limit) {
        List list = new ArrayList<>();
        int start = (page - 1) * limit;
        for (int i = start; i < start + limit && i < users.size(); i++) {
            list.add(users.get(i));
        }
        return list;
    }

    /**
     * 获得所有用户
     */
    public List getAllUsers() {
        return users;
    }

    /**
     * 添加用户
     */
    public void addUser(LayuiUser user) {
        if (user.getId() <= 0) { // 未设置id
            int index = users.size() - 1; // 获得最后一个用户的索引号
            if (index < 0) { // 如没有一个用户
                user.setId(1); // 编号为1
            } else {
                user.setId(users.get(index).getId() + 1); // 获得最后一个用户的编号+1
            }
        }
        users.add(user);
    }

    /**
     * 删除用户
     */
    public void delUser(int id) {
        LayuiUser delUser = null;
        for (LayuiUser user : users) {
            if (user.getId() == id) {
                delUser = user;
                break;
            }
        }
        users.remove(delUser);
    }

    /**
     * 删除用户(多选)
     */
    public void delUsers(int[] ids) {
        LayuiUser delUser = null;
        for (int i = 0; i < ids.length; i++) {
            for (int j = 0; j < users.size(); j++) {
                if (users.get(j).getId() == ids[i]) {
                    users.remove(j);
                }
            }
        }
    }

    public void updateUser(LayuiUser obj) {
        LayuiUser editUser = null;
        for (LayuiUser user : users) {
            if (user.getId() == obj.getId()) {
                editUser = user;
                break;
            }
        }
        editUser.setName(obj.getName());
        editUser.setCity(obj.getCity());
        editUser.setBirthday(obj.getBirthday());
    }
}

3.3 创建用户Service

package com.laoxu.test.helloweb.service;

import com.laoxu.test.helloweb.dao.LayuiUserDao;
import com.laoxu.test.helloweb.entity.LayuiUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Description: 用户service
 * @Author laoxu
 * @Date 2019/12/21 10:42
 **/
@Service
public class LayuiUserService {
    @Autowired
    LayuiUserDao userDao;

    public List getPager(int page, int limit){
        return userDao.getPager(page,limit);
    }

    public List getAllUsers() {
        return userDao.getAllUsers();
    }

    public void addUser(LayuiUser user) {
        userDao.addUser(user);
    }

    public void delUser(int id) {
        userDao.delUser(id);
    }

    public void delUsers(int[] ids) {
        userDao.delUsers(ids);
    }

    public void updateUser(LayuiUser user) {
        userDao.updateUser(user);
    }

}

3.4 创建用户Controller

 

package com.laoxu.test.helloweb.controller;

import com.laoxu.test.helloweb.dao.LayuiUserDao;
import com.laoxu.test.helloweb.entity.LayuiUser;
import com.laoxu.test.helloweb.entity.ResultBean;
import com.laoxu.test.helloweb.service.LayuiUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @Description:  用户controller
 * @Author laoxu
 * @Date 2019/12/21 10:11
 **/
@RestController
@RequestMapping("/api/layui/user")
public class LayuiUserController {
    @Autowired
    LayuiUserService userService;

    @GetMapping("/list")
    public ResultBean list(@RequestParam(defaultValue = "1") Integer page,
                           @RequestParam(defaultValue = "10") Integer limit){
        List users = userService.getPager(page,limit);
        int count = userService.getAllUsers().size();

        ResultBean result = new ResultBean(0,"查询成功",count,users);

        return result;
    }

    @PostMapping("/save")
    public ResultBean save(@RequestBody LayuiUser user){
        // 判断是新增还是修改
        if(user.getId()==0){
            userService.addUser(user);
        }else{
            userService.updateUser(user);
        }

        return new ResultBean(200,"保存成功",0,"");
    }

    @PostMapping("/remove")
    public ResultBean modify(@RequestBody int[] ids){
        userService.delUsers(ids);
        return new ResultBean(200,"删除成功",0,"");
    }
}

 

 

 

需要源码的请留下邮箱!

 

 

你可能感兴趣的:(Java项目实战,#,Spring-Boot)