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;
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
添加用户
update.html
修改用户
运行结果