随着微服务的出现,我们开发的效率比之前也快了很多,相比传统的开发模式,微服务提供的更加便捷,使我们开发人员开发速度有了很大的提高,为此我相比之前写的结合springcloud结合mybati实现增删改查。这一次写了一个纯注解方式来实现简单的增删改查。

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.2.7.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.csq.study</groupId><artifactId>study</artifactId><version>0.0.1-SNAPSHOT</version><name>study</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><repositories><repository><id>spring-snapshots</id><name>SpringSnapshots</name><url>https://repo.spring.io/snapshot</url><snapshots><enabled>true</enabled></snapshots></repository><repository><id>spring-milestones</id><name>SpringMilestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository></repositories><pluginRepositories><pluginRepository><id>spring-snapshots</id><name>SpringSnapshots</name><url>https://repo.spring.io/snapshot</url><snapshots><enabled>true</enabled></snapshots></pluginRepository><pluginRepository><id>spring-milestones</id><name>SpringMilestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></pluginRepository></pluginRepositories><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></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>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

建表脚本:

DROP DATABASE IF EXISTS "user" ;
CREATE TABLE `user` (`id` INT(11) DEFAULT NULL,`name` VARCHAR(255) DEFAULT NULL,`age` INT(11) DEFAULT NULL
) ENGINE=INNODB DEFAULT CHARSET=utf8;
INSERT INTO `user` VALUES ('1', '张三', '22'), ('2', '李四', '23'),('3', '王五', '22'), ('4', '赵六', '23');

User对象

package com.csq.study;@Entity
@Table(name="user")
public class User {@Idint id;String name;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 int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "User [id=" + id + ", name=" + name + ", age=" + age + "]";}}

Result 返回结果对象

public class Result {private boolean flag;//是否成功private Integer code;// 返回码private String message;//返回信息private Object data;// 返回数据
set/get ... 构造方法  略
}

StatusCode 响应状态

public class StatusCode {public static final int OK=20000;//成功public static final int ERROR =20001;//失败public static final int LOGINERROR =20002;//用户名或密码错误public static final int ACCESSERROR =20003;//权限不足public static final int REMOTEERROR =20004;//远程调用失败public static final int REPERROR =20005;//重复操作
}

utils 中的id生成工具类:

 Dao

dao
/*** JpaRepository提供了基本的增删改查JpaSpecificationExecutor用于做复杂的条件查询* @author HUNI*/
public interface UserDao extends JpaRepository<User, Integer>,JpaSpecificationExecutor<User>{
}

service层

@Service
public class UserService {@AutowiredUserDao userDao;/*** 查询全部** @return*/public List<User> findAll() {return userDao.findAll();}/*** 根据Id查询** @param id* @return*/public User findById(Integer id) {return userDao.findById(id).get();}/*** 增加标签** @param user*/public void add(User user) {user.setId(UUID.randomUUID().hashCode());userDao.save(user);}/*** 更新标签** @param user*/public void update(User user) {userDao.save(user);}/*** 删除标签** @param id*/public void deteleById(Integer id) {userDao.deleteById(id);}
}

controller

@RestController
@RequestMapping("user")
public class UserController {@Autowiredprivate UserService userService;@RequestMapping(method= RequestMethod.GET)public Result findAll(){Result result = new Result(true, StatusCode.OK,"查询成功", userService.findAll());return result;}@RequestMapping(value="/{id}", method=RequestMethod.GET)public Result findById(@PathVariable Integer id){Result result = new Result(true,StatusCode.OK,"查询成功",  userService.findById(id));return result;}@RequestMapping(method=RequestMethod.POST)public Result add(@RequestBody User user){userService.add(user);Result result = new Result(true,StatusCode.OK,"添加成功");return result;}@RequestMapping(value="/{id}",method=RequestMethod.PUT)public Result update(@RequestBody  User user,@PathVariable Integer id){user.setId(id);userService.update(user);Result result = new Result(true,StatusCode.OK,"修改成功");return result;}@RequestMapping(value="/{id}", method=RequestMethod.DELETE)public Result deleteById(@PathVariable Integer id){userService.deteleById(id);Result result = new Result(true,StatusCode.OK,"删除成功");return result;}
}

快速启动类

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

配置文件application.yml

server:port: 9001  #服务端口datasource:driverClassName: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/user?Unicode=true&characterEncoding=utf-8  #连接额数据库 username: root   #数据库用户password: root  #数据库密码jpa:database: mysql show‐sql: truegenerate‐ddl: true

使用postman测试结果 ,看是否正确

此处就不贴测试结果了,大家自己测试看看你写的是否可以跑的通。

测试结果:

查询所有: 

根据id查询:

添加数据:

查看数据库:

删除数据:

查看数据库:

修改数据:

查看数据库:

因为很多人总是问是否可以启动,因为这很早之前用eclipse开发的,已经找不到之前写的了,我用idea重新简化了下,重新整理一下.大家可以在看看.要源码请击点

springcloud微服务实现增删改查相关推荐

  1. springmvc-实现增删改查

    30. 尚硅谷_佟刚_SpringMVC_RESTRUL_CRUD_显示所有员工信息.avi现在需要使用restful风格实现增删改查,需要将post风格的请求转换成PUT 请求和DELETE 请求 ...

  2. Python编程 模拟SQL语句 实现对员工信息的增删改查

    一.问题描述 用 Python 模拟 sql 语句,实现对员工信息的增删改查. 封装函数,传入参数:文件路径和 sql 命令. 模拟 sql 语句实现对员工信息的现增删改查,并打印结果. 二.Pyth ...

  3. 列表数据提交_Mybatis-实现数据的增删改查

    1. 用 mybatis 查询数据,包括列表 2. 用 mybatis 增加数据 3. 用 mybatis 更新数据. 4. 用 mybatis 删除数据. 查询数据,前面已经讲过简单的,主要看查询出 ...

  4. 学生的新增mySQL文档_MySQL增删改查

    连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码] 创建数据库:create database [库名] 显示所有数据库: show databases; 打开数据库:use [ ...

  5. mock模拟的数据能增删改查吗_Mock.js模拟数据,脱离后端独立开发,实现增删改查功能...

    在目前容近对端手近对端手近对端手近对端手近我们的生产实际中,后端的接口往往是较晚才会出来,并且还要写接口文档,于是我们的前端的许多开发都要等到接口给我们才能进行,这样对于我们前端来说显得十分的被动,于 ...

  6. Django实现对数据库数据增删改查(二)

    目录 1.基本框架 1.1.路由分发 1.2.视图函数-逻辑处理 1.3.模板 2.查询功能 2.1.视图函数 2.2.模板函数 3.添加功能 3.1.路由分发 3.2视图函数 3.3.模板 4.编辑 ...

  7. SpringBoot+MySql实现一对多再多对多的数据库的设计以及业务层增删改查的实现

    场景 SpringBoot+MySql+ElementUI实现一对多的数据库的设计以及增删改查的实现 https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article ...

  8. SpringBoot+MySql+ElementUI实现一对多的数据库的设计以及增删改查的实现

    场景 业务中经常会用到一对多的数据库的设计与数据的增删改查的实现. 比如要实现一个对手机应用配置允许访问的权限的业务. app与权限就是一对多的关系.即一个app可以拥有多个权限. 注: 博客: ht ...

  9. 国产化之路-统信UOS /Nginx /Asp.Net Core+ EF Core 3.1/达梦DM8实现简单增删改查操作

    引言 经过前期的准备工作,.net core 3.1的运行环境和WEB服务器已经搭建完毕,这里需要注意一下,达梦DM8数据库对于Entity Framework Core 3.1 的驱动在NuGet官 ...

最新文章

  1. 怎么从github上下载一个vue项目在本地运行
  2. Javascript学习总结三(Array对象的用法)
  3. 微信验证服务器是怎么回事,微信服务器认证为什么需要这么多参数?
  4. 别克gl8服务器返回数据为空,老司机教学:别克GL8商务车总线控制系统故障解决...
  5. 网站建设中 模板_网站建设之模板网站的缺点
  6. mysql根据排序取前百分之二十_MySQL 性能优化 MySQL常见SQL错误用法
  7. pandas作图_pandas绘图
  8. SQL:pgsql中查询某字段不等于的数据
  9. 2018计算机java二级题库6_2018年计算机二级考试JAVA试题及答案六
  10. unity3d 挂载脚本_Unity3D加载资源的四种方式
  11. MySQL数据库介绍
  12. kmeans算法中的sse_kmeans算法理解及代码实现
  13. [Unity]腾讯SDK踩坑之路(3)--米大师坑 + MSDK坑 (2)
  14. JPA-Specification 实现复杂查询
  15. maven相关(1)
  16. Python个人学习小结
  17. 【Linux操作】常用命令整理(持续更新中...)
  18. adb bugreport -- Failed to get bugreportz version
  19. #574. 火车票(railway)
  20. GNU Radio系列教程(一):什么是GNU Radio?为什么我需要用GNU Radio?

热门文章

  1. 寻找马鞍点的c语言算法(数据结构之数组)
  2. KKB : SSM框架的整合
  3. echarts中横坐标值显示不全(自动隐藏)解决方案
  4. Lie Groups and Lie Algebras
  5. python获取新闻标题及发布时间
  6. 前端demo——CSS3制作简易时钟
  7. (新手制作,高手勿进) CSS样式制作网页心得
  8. 拯救者15ISK BIOS不显示 M.2 NMVE 固态硬盘
  9. 电力系统导纳矩阵与短路计算matlab程序
  10. LearnOpenGL-高级OpenGL-9.几何着色器