SpringBoot分页查询,编辑,新增功能

Pom文件



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.7.4
         
    
    com.example
    demo
    0.0.1-SNAPSHOT
    demo
    demo
    
        11
    
    
        
            org.springframework.boot
            spring-boot-starter-jdbc
        
        
            org.springframework.boot
            spring-boot-starter-thymeleaf
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            com.github.pagehelper
            pagehelper-spring-boot-starter
            1.4.1
        
        
            mysql
            mysql-connector-java
            runtime
        
        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
        
            src/main/java
            
                **/*.xml
            
            false
        
        
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.7.4
                
                    
                        
                            org.projectlombok
                            lombok
                        
                    
                
            
        
    


数据库准备

    /*
 Navicat Premium Data Transfer

 Source Server         : local
 Source Server Type    : MySQL
 Source Server Version : 80029
 Source Host           : localhost:3306
 Source Schema         : db_demo2

 Target Server Type    : MySQL
 Target Server Version : 80029
 File Encoding         : 65001

 Date: 24/10/2022 00:00:20
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` int(0) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
  `pwd` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
  `email` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
  `age` int(0) NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, 'name1', '12345', '111111', 1);
INSERT INTO `user` VALUES (2, 'name2', '222', '222222', 2);
INSERT INTO `user` VALUES (4, 'name4', '444', '444444', 4);
INSERT INTO `user` VALUES (5, 'name5', '555', '55555', 5);
INSERT INTO `user` VALUES (6, 'name6', '666', '666666', 6);
INSERT INTO `user` VALUES (7, 'name7', '777', '77777', 7);
INSERT INTO `user` VALUES (8, 'jack', '123456', '12345', 18);

SET FOREIGN_KEY_CHECKS = 1;

    

SpringBoot分页查询,编辑,新增功能_第1张图片

 

application.yml

server:
  port: 8080
spring:
  datasource:
    name: db_demo2
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/db_demo2?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
    username: root
    password: 12345
  main:
    allow-circular-references: true
  thymeleaf:
    cache: false #关闭缓存
    mode: HTML5 #设置模板类型
    encoding: utf-8  #设置编码
    suffix: .html
pagehelper: #pagehelper分页插件配置
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSqll

application·.properties

spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/db_demo2?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username = root
spring.datasource.password = 12345
server.port=8080

UserBean

package com.example.demo.bean;

import java.io.Serializable;

public class UserBean implements Serializable {
    private int id;//主键是不参与构造的
    private String name;
    private String pwd;
    private String email;
    private int age;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "UserBean{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", pwd='" + pwd + '\'' +
                ", email='" + email + '\'' +
                ", age=" + age +
                '}';
    }
}

UserMapper.java

package com.example.demo.mapper;

import com.example.demo.bean.UserBean;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface UserMapper {
    public int addUser(UserBean userBean);

    public int updateUser(UserBean userBean);

    public int deleteUser(int id);

    public List findAll();

    public UserBean findOneById(int id);

}

UserMapper.xml




    
    
    
    
        insert into user() value(#{id},#{name},#{pwd},#{email},#{age})
    
    
        update user set name=#{name},pwd=#{pwd},email=#{email},age=#{age} where id=#{id}
    
    
        delete from user where id=#{id}
    

UserService.java

package com.example.demo.service;

import com.example.demo.bean.UserBean;

import java.util.List;

public interface UserService {
    //	查询全部
    List findAll();
    //	添加数据
    int addUser(UserBean userBean);
    //	删除数据
    Integer deleteUser(int id);
    //	修改需要先查询出来对象数据,显示然后进行数据提交,依据id唯一进行修改
    int updateUser(UserBean userBean);
    //	查询对象
    UserBean findOneById(int id);

}

UserServiceImpl.java

package com.example.demo.service;

import com.example.demo.bean.UserBean;
import com.example.demo.mapper.UserMapper;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class UserServiceImpl implements UserService{

    @Resource
    private UserMapper userMapper;

    @Override
    public List findAll() {
        return userMapper.findAll();
    }

    @Override
    public int addUser(UserBean userBean) {
        return userMapper.addUser(userBean);
    }

    @Override
    public Integer deleteUser(int id) {
        return userMapper.deleteUser(id);
    }

    @Override
    public int updateUser(UserBean userBean) {
        return userMapper.updateUser(userBean);
    }

    @Override
    public UserBean findOneById(int id) {
        return userMapper.findOneById(id);
    }
}

UserController.Java

package com.example.demo.controller;

import com.example.demo.bean.UserBean;
import com.example.demo.service.UserService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

@Controller

public class UserController {
    @Resource
    private UserService userService;
    @RequestMapping("/user/login")
    public ModelAndView login(ModelAndView mv, @RequestParam(defaultValue = "1", value = "pageNum") Integer pageNum) {
        if (pageNum < 1 || pageNum == null) {
            pageNum = 1;
        }
        PageHelper.startPage(pageNum, 5);
        List list = userService.findAll();
        PageInfo pageInfo = new PageInfo(list);
        mv.addObject("pageInfo", pageInfo);
        mv.setViewName("list");
        return mv;
    }

    @PostMapping("/user/add")
    // @ResponseBody
    public String add(UserBean userBean, HttpServletResponse servletResponse) throws IOException {
        int addUser = userService.addUser(userBean);
        if (addUser == 1) {
            servletResponse.sendRedirect("/user/login");
        }
        return "error";
    }

    @RequestMapping("/user/useradd")
    public String add() {
        return "add";
    }
    // 删除数据
    @RequestMapping("/user/deleteUser")
    public String deleteUser(@RequestParam Integer id, HttpServletResponse servletResponse) throws IOException {
        int count = userService.deleteUser(id);
        System.out.println("1111111");
        if (count == 1) {
            servletResponse.sendRedirect("/user/login");
        }
        return "error";
    }

    // 更新数据
    @RequestMapping("/user/updateName")
    public ModelAndView updateName(ModelAndView mv, int id) {
        UserBean findOne = userService.findOneById(id);
        mv.addObject("users", findOne);
        mv.setViewName("update");
        return mv;
    }

    @PostMapping("/user/userUpdate")
    public String updateUser(UserBean userBean, HttpServletResponse servletResponse) throws IOException {
        int userUpdate = userService.updateUser(userBean);
        if (userUpdate == 1) {
            servletResponse.sendRedirect("/user/login");
        }
        return "error";
    }

    // 根据id查找
    @PostMapping("/user/updatePage")
    public ModelAndView updatePage(int id, ModelAndView mv,
                                   @RequestParam(defaultValue = "1", value = "pageNum") Integer pageNum) {
        UserBean users = userService.findOneById(id);
        if (pageNum < 1 || pageNum == null) {
            pageNum = 1;
        }
        PageHelper.startPage(pageNum, 5);
        List list = new ArrayList<>();
        list.add(users);
        PageInfo pageInfo = new PageInfo(list);
        mv.addObject("pageInfo", pageInfo);
        mv.setViewName("list");
        return mv;
    }

}

主启动程序

package com.example.demo;

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

@SpringBootApplication
@MapperScan("com.example.demo.mapper")
public class DemoApplication {

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

}

前端页面

list.html




    
    Insert title here
    





SpringBoot-CURD

id name pwd email age operation
更改 删除

当前 页,总 页,共 条记录      首页   上一页   下一页   尾页

add.html




    
    添加用户
    




用户名:
密 码:
email:
年龄:

update.html




    
    修改用户
    


ID:
用户名:
密 码:
email:
年龄:

运行结果

SpringBoot分页查询,编辑,新增功能_第2张图片

 

你可能感兴趣的:(springboot,spring,boot,java,spring)