SpringBoot实现CURD

项目列表

Pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.1.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.lin</groupId><artifactId>springboot0711</artifactId><version>0.0.1-SNAPSHOT</version><name>springboot0711</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.20</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>5</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.7.RELEASE</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.3.1.RELEASE</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId><version>2.3.1.RELEASE</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId><version>2.3.1.RELEASE</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.3</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

Bean

User

package com.lin.springboot0711.Bean;public class User {private int id;private String name;private String password;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 getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "User{" +"id=" + id +", name='" + name + '\'' +", password='" + password + '\'' +'}';}
}

Controller

ModifyUserController

package com.lin.springboot0711.Controller;import com.lin.springboot0711.Bean.User;
import com.lin.springboot0711.Service.UserService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;@Controller
public class ModifyUserController {@ResourceUserService userService;//查询所有用户@RequestMapping("/users")public String showUsers(ModelMap modelMap){List<User> userList=userService.queryAllUser();modelMap.addAttribute("userList",userList);return "users";}//    新增用户@RequestMapping("addUser")@ResponseBodypublic Map addUser(User user){int flag=userService.addUser(user);Map<String,Object>map=new HashMap<String ,Object>();if (flag==1) {map.put("msg","新增用户成功");return map;}else {map.put("msg","新增用户失败");return map;}}
//    根据用户ID删除用户信息@RequestMapping(value = "/deleteUser+{id}")public String dropUser(@PathVariable("id")String id ,ModelMap modelMap){int flag=userService.dropUser(id);List<User>userList=userService.queryAllUser();modelMap.addAttribute("userList",userList);if (flag==1){return "users";}else{return "error";}}
//    根据用户ID查询用户信息@RequestMapping("/user+{id}")public String queryUser(@PathVariable("id") String id,ModelMap modelMap){User user=userService.queryUserById(id);modelMap.addAttribute("user",user);return "userInfo";}
//    根据用户ID来修改用户信息@RequestMapping("/modifyUser")@ResponseBodypublic Map modifyUser(User user){int flag=userService.modifyUser(user);Map<String,Object>map =new HashMap<>();if (flag==1){map.put("msg","修改用户信息成功");return map;}else {map.put("msg", "修改用户信息失败");return map;}}}

DAO

package com.lin.springboot0711.Dao;import com.lin.springboot0711.Bean.User;
import org.apache.ibatis.annotations.Param;import java.util.List;public interface UserMapper {public User getInfo(@Param("name") String name,@Param("password") String password);public User selectUserById(String id);public  int insertUser(User user);int updateUser(User user);int deleteUser(String id);List<User> getAllUser();
}

Service

package com.lin.springboot0711.Service;import com.lin.springboot0711.Bean.User;import java.util.List;public interface UserService {User loginIn(String name,String password);User queryUserById(String id);int addUser(User user);int dropUser(String id);int modifyUser(User user);List<User>queryAllUser();
}

ServiceImpl

package com.lin.springboot0711.ServiceImpl;import com.lin.springboot0711.Bean.User;
import com.lin.springboot0711.Dao.UserMapper;
import com.lin.springboot0711.Service.UserService;
import org.springframework.stereotype.Service;import javax.annotation.Resource;
import java.util.List;@Service
public class UserServiceImpl implements UserService {
//    将DAO注入Service层@Resourceprivate UserMapper userMapper;@Overridepublic User loginIn(String name,String password){return userMapper.getInfo(name,password);}@Overridepublic User queryUserById(String id){return userMapper.selectUserById(id);}@Overridepublic int addUser(User user){int aFlag=userMapper.insertUser(user);return aFlag;}@Overridepublic int dropUser(String id){int dFlag=userMapper.deleteUser(id);return  dFlag;}@Overridepublic int modifyUser(User user){int mFlag=userMapper.updateUser(user);return mFlag;}@Overridepublic List<User>queryAllUser(){return userMapper.getAllUser();}
}

Springboot0711Application

package com.lin.springboot0711;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
@MapperScan("com.lin.springboot0711.Dao")
public class Springboot0711Application {public static void main(String[] args) {SpringApplication.run(Springboot0711Application.class, args);}}

mapper  UserMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.lin.springboot0711.Dao.UserMapper"><select id="getInfo" resultType="com.lin.springboot0711.Bean.User">SELECT * FROM userWHEREname = #{name} AND password = #{password}</select>
<!--    根据ID查询用户信息--><select id="selectUserById"  parameterType="String" resultType="com.lin.springboot0711.Bean.User">select * from user where id=#{id};</select>
<!--    插入新用户 id自增--><insert id="insertUser" parameterType="com.lin.springboot0711.Bean.User" useGeneratedKeys="true" keyProperty="id">insert into user(name, password) VALUES (#{name},#{password});</insert><delete id="deleteUser" parameterType="String">delete  from user where id=#{id};</delete><!--根据ID修改用户信息,返回数据库操作影响行数,为0则是失败--><update id="updateUser" parameterType="com.lin.springboot0711.Bean.User">update user set name=#{name} ,password=#{password} where id=#{id};</update><select id="getAllUser" resultType="com.lin.springboot0711.Bean.User">select * from user;</select></mapper>

layui框架包(空间查看)

login.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>login</title>
</head>
<body>
<form role="form" action = "/loginIn" method="post">账号:<input type="text" id="name" name = "name"> <br>密码:<input type="password" id = "password" name = "password"> <br><input type="submit" id = "login" value = "login">
</form></body>
</html>

error.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>error</title>
</head>
<body>
<h1>登录失败!</h1>
</body>
</html>

success.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>success</title>
</head>
<body>
<h1>登录成功!</h1>
</body>
</html>

userInfo.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>UserInfo</title><!-- 新 Bootstrap4 核心 CSS 文件 --><link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css"><script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script><!-- bootstrap.bundle.min.js 用于弹窗、提示、下拉菜单,包含了 popper.min.js --><script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js"></script><!-- 最新的 Bootstrap4 核心 JavaScript 文件 --><script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
<body>
<div id="modifyUser"><form name="modifyUser"><div class="form-group"><label for="id">ID:</label><input type="text" class="form-control" name="id" id="id" th:value="${user.getId()}" disabled></div><div class="form-group"><label for="name">name:</label><input type="text" class="form-control" name="name" id="name" th:value="${user.getName()}"></div><div class="form-group"><label for="pwd">Password:</label><input type="text" class="form-control" name="pwd" id = "pwd" th:value="${user.getPassword()}"></div>
<!--        <div class="form-check">-->
<!--            <label for="role">role:</label>-->
<!--            <select class="form-control" name="role" id = "role" th:value="${user.getRole()}">-->
<!--                <option th:selected="${user.getRole()=='admin'}" value = "admin">admin</option>-->
<!--                <option th:selected="${user.getRole()=='user'}" value = "user">user</option>-->
<!--            </select>-->
<!--        </div>--></form><button id = "modify">ModifyUser</button>
</div>
<script >//字符串判空方法function isBlank(str){if(str == "" || str == null || str == undefined){return true;}else {return false;}}//添加用户js响应事件$("#modify").click(function(){var id = $("#id").val();var name = $("#name").val();var password = $("#pwd").val();//判断是否有未填项if(isBlank(name) || isBlank(password) ){window.confirm("请完善信息");}else {var param = {"id": id,"name": name,"password": password};$.ajax({url:"/modifyUser", //请求urldata: param,    //请求参数async: true,    //是否异步success: function f(result) {window.confirm(result.msg); //修改用户信息成功提示框location.href = "users";    //重新加载界面,同步数据库信息}});}});
</script>
</body>
</html>

users.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>Users</title><!-- 新 Bootstrap4 核心 CSS 文件 --><link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css"><script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script><!-- bootstrap.bundle.min.js 用于弹窗、提示、下拉菜单,包含了 popper.min.js --><script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js"></script><!-- 最新的 Bootstrap4 核心 JavaScript 文件 --><script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
<body>
<div id = "selectResult"><table class="table table-dark table-hover"><thead><tr><th>用户ID</th><th>用户名称</th><th>用户密码</th><th>操作</th></tr></thead><tbody><tr th:each="user : ${userList}"><td th:text="${user.id}"></td><td th:text="${user.name}"></td><td th:text="${user.password}"></td><td><a th:href = "@{/user+{id}(id=${user.id})}">修改</a><a th:href = "@{/deleteUser+{id}(id=${user.id})}" id = "delete">删除</a></td></tr></tbody></table>
</div>
<div id = "addUser"><form name="addUser"><div class="form-group"><label for="name">name:</label><input type="text" class="form-control" name="name" id="name"></div><div class="form-group"><label for="pwd">Password:</label><input type="password" class="form-control" name="pwd" id = "pwd"></div>
<!--        <div class="form-check">-->
<!--            <label for="role">role:</label>-->
<!--            <select class="form-control" name="role" id = "role">-->
<!--                <option>admin</option>-->
<!--                <option>user</option>-->
<!--            </select>-->
<!--        </div>--></form><button id = "add">AddUser</button></div><script >//字符串判空方法function isBlank(str){if(str == "" || str == null || str == undefined){return true;}else {return false;}}//添加用户js响应事件$("#add").click(function(){var name = document.forms["addUser"]["name"].value;var password = document.forms["addUser"]["pwd"].value;//判断是否有未填项if(isBlank(name) || isBlank(password) ){window.confirm("请完善信息");}else {var param = {"name": name,"password": password};$.ajax({url:"/addUser", //请求urldata: param,    //请求参数async: true,    //是否异步success: function f(result) {window.confirm(result.msg); //新增用户成功提示框location.href = "users";    //重新加载界面,同步数据库信息}});}});
</script>
</body>
</html>

application.yml

spring:datasource:name: springboot  #数据库名url: jdbc:mysql://localhost:3306/springboot?serverTimezone=UTCusername:   #用户名password:   #密码driver-class-name: com.mysql.cj.jdbc.Driver  #数据库链接驱动
mybatis:mapper-locations: classpath:mapper/*.xmltype-aliases-package: com.lin.springboot0711.Bean

操作过程

说明

该项目是一个简单的CURD  参考GitHub一个小的项目修改

附上GitHub地址:https://github.com/redesperado/test1.git

SpringBoot实现CURD相关推荐

  1. mongodb客户端操作(MongoRepository)

    文章目录 orm jpa MongoRepository springboot 整合 curd基本操作 自定义扩展 官方文档 orm jpa MongoRepository springboot 整合 ...

  2. springboot 整合mybatis实现curd

    springboot 整合mybatis pom文件 mvc 架构 application.properties 扩展配置,druid配置类 项目地址: https://github.com/seve ...

  3. springboot+mybaitsplus+vue简单的CURD

    springboot+mybaitsplus+vue简单的CURD 环境: jdk1.8 .maven3.3.6+.MySQL5.7 开发工具:ieda 后端创建 创建springboot项目,填写项 ...

  4. Springboot入门小项目(CURD)

    基于SpringBoot与MyBatis实现简单的CURD操作 一.必要配置 二.CRUD操作 前端代码 控制层代码 服务层代码 持久层代码 一.必要配置 ① 创建XX_DB数据库并创建数据表user ...

  5. springboot2整合mysql5_SpringBoot2.X (二十五):SpringBoot整合 Mybatis + MySQL CURD 示例

    话不多数,直接开始撸代码- 工程结构图 开始之前先放张工程结构图 1.maven 依赖: org.springframework.boot spring-boot-starter-web org.my ...

  6. SpringBoot + Spring Cloud +Vue 管理系统后台搭建(七、业务代码通用CURD实现)

    什么是CURD CURD是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是CURD.作用是用于处理数据的基本操作.它代表创建(Create).更新(Update).读取(Retriev ...

  7. php跨域curd,SpringBoot+Vue前后端分离(CURD)Demo

    我发现我好久没有更新了,写一篇证明我还活着. 既然是前后端分离的话,肯定是要有前端和后端的. 这里前端我使用的Vue+ElementUI,后端采用的是SpringBoot+Mybatis+Swagge ...

  8. SpringBoot+Jpa实现CURD

    一.项目创建 1.新建项目 开发工具使用IDEA,数据库用MYSQL5.7,Maven3.5.3导入依赖jar,JDK1.8版本. 2.MYSQL用5.1.38驱动: <dependency&g ...

  9. 带你搭一个SpringBoot+SpringData JPA的环境

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 不知道大家对SpringBoot和Spring Da ...

最新文章

  1. bashrc与profile的相关知识
  2. gorm增删查改json_gorm 关联查询请教
  3. 配件都包括什么_婚礼婚庆服务都包括什么
  4. BZOJ 1030: [JSOI2007]文本生成器 [AC自动机 DP]
  5. js mysql 时间日期比较
  6. UVA 103 Stacking Boxes
  7. 小白来学C语言之数组与指针
  8. eBPF学习记录(四)使用libbpf开发eBPF程序
  9. PowerShell批量配置VM端点
  10. 优化 | 运筹学:从入门到毕业
  11. Linux(Ubuntu)中对音频批量转换格式MP3转WAV/PCM转WAV
  12. Python数据分析与可视化案例解析
  13. Selenium-针对alert弹窗无法获取,弹出no such alert的解决方法
  14. 计算机显示器上有条纹,电脑屏幕出现条纹,教您电脑屏幕出现条纹怎么办
  15. Liip-imagine-bundle 在 Nignx 无法生成缓存图的问题
  16. 隐藏专杀工具文件夹病毒专杀工具
  17. 楼教主(楼天成)的ACM心路历程
  18. 三小时,阿里云使用docker部署redis(阅文无数)
  19. 图像采集——偏振光源消除镜面反光
  20. 服务没有注册到nacos的原因分析

热门文章

  1. 设计模式经典32式(Patterns in Java)(前言)
  2. 手把手教你学习FPGA系列视频教程_救护车鸣笛声
  3. C语言中结构体成员变量前的点的作用
  4. Keil C251条件编译宏的应用实例
  5. JQuery实现下拉框Select选项的左右移动
  6. 蓝海项目:在Tiktok上教老外学中文
  7. 墙裂推荐c++的学习网站(OJ)
  8. Windows重启,自动重启Nginx,JAVA,VueSSR服务
  9. html 网页两边空白,windows7系统打开网页两边空白怎么办
  10. 前端面试查漏补缺--(十) 前端鉴权