1.框架的总体结构
2.数据库
3.界面是
这里面就可以实现增删改查功能了
CONTROLLER
package com.cl.demo.controller;
import com.alibaba.fastjson.JSON;
import com.cl.demo.entity.User;
import com.cl.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/findByAll")
public String index(Model model){
List<User> list=userService.findByAll();
model.addAttribute("users",list);
return "user/userList";
}
/* public List list() {
List userList = userService.findByAll();
// String res = JSON.toJSONString(userList);
return userList;
}*/
@ResponseBody
@RequestMapping(value = “/”, method = RequestMethod.GET)
public String list() {
List userList = userService.findByAll();
return JSON.toJSONString(userList);
}
@RequestMapping(value = "/toAdd",method = RequestMethod.POST)
public int toAdd(User user){
JSON.toJSONString(user);
return userService.saveUser(user);
}
@RequestMapping(value = "/add")
public String add(User user){
userService.saveUser(user);
return "redirect:/";
}
@RequestMapping(value = "/toEdit/{id}")
public int toEdit(@PathVariable("id") User user){
return userService.updateUser(user);
}
@RequestMapping(value = "/edit/{id}",method = RequestMethod.PUT)
public String edit(@PathVariable("id") int id,
@RequestParam("name")String name,
@RequestParam("name")int age){
User user = new User();
user.setId(id);
user.setAge(age);
user.setName(name);
userService.updateUser(user);
return "redirect:/";
}
@RequestMapping("/delete/{id}")
public int delete(@PathVariable("id") Integer id){
return userService.deleteUser(id);
}
}
UserList.html
package com.cl.demo.controller;
import com.alibaba.fastjson.JSON;
import com.cl.demo.entity.User;
import com.cl.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/findByAll")
public String index(Model model){
List<User> list=userService.findByAll();
model.addAttribute("users",list);
return "user/userList";
}
/* public List list() {
List userList = userService.findByAll();
// String res = JSON.toJSONString(userList);
return userList;
}*/
@ResponseBody
@RequestMapping(value = “/”, method = RequestMethod.GET)
public String list() {
List userList = userService.findByAll();
return JSON.toJSONString(userList);
}
@RequestMapping(value = "/toAdd",method = RequestMethod.POST)
public int toAdd(User user){
JSON.toJSONString(user);
return userService.saveUser(user);
}
@RequestMapping(value = "/add")
public String add(User user){
userService.saveUser(user);
return "redirect:/";
}
@RequestMapping(value = "/toEdit/{id}")
public int toEdit(@PathVariable("id") User user){
return userService.updateUser(user);
}
@RequestMapping(value = "/edit/{id}",method = RequestMethod.PUT)
public String edit(@PathVariable("id") int id,
@RequestParam("name")String name,
@RequestParam("name")int age){
User user = new User();
user.setId(id);
user.setAge(age);
user.setName(name);
userService.updateUser(user);
return "redirect:/";
}
@RequestMapping("/delete/{id}")
public int delete(@PathVariable("id") Integer id){
return userService.deleteUser(id);
}
}
userAdd.html
添加用户
<div class="form-group">
<label for="age" class="col-sm-2 control-label">年龄</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="age" id="age" placeholder="age"/>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input id="saveUser" type="button" value="确定" class="btn btn-info"/>
<input type="button" value="重置" class="btn btn-info"/>
<a href="/user/userList.html" th:href="@{/user/}" class="btn btn-info">返回</a>
</div>
</div>
</div>
UserEdit.html
修改用户
<div class="form-group">
<label for="name" class="col-sm-2 control-label">name</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="name" id="name" placeholder="name"/>
</div>
</div>
<div class="form-group">
<label for="age" class="col-sm-2 control-label">age</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="age" id="age" placeholder="age"/>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input id="updateUser" type="button" value="确定" class="btn btn-info"/>
</div>
</div>
</div>
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.1.3.RELEASE
com.cl
demo
0.0.1-SNAPSHOT
demo
Demo project for Spring Boot
<properties>
<java.version>1.8</java.version>
</properties>
<!--AJAX-->
<modelVersion>4.0.0</modelVersion>
<groupId>org.springboot</groupId>
<artifactId>springbootajax</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>SpringBootAjax</name>
<description>Demo project for Spring Boot</description>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.49</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>