springcloud微服务实现增删改查
随着微服务的出现,我们开发的效率比之前也快了很多,相比传统的开发模式,微服务提供的更加便捷,使我们开发人员开发速度有了很大的提高,为此我相比之前写的结合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微服务实现增删改查相关推荐
- springmvc-实现增删改查
30. 尚硅谷_佟刚_SpringMVC_RESTRUL_CRUD_显示所有员工信息.avi现在需要使用restful风格实现增删改查,需要将post风格的请求转换成PUT 请求和DELETE 请求 ...
- Python编程 模拟SQL语句 实现对员工信息的增删改查
一.问题描述 用 Python 模拟 sql 语句,实现对员工信息的增删改查. 封装函数,传入参数:文件路径和 sql 命令. 模拟 sql 语句实现对员工信息的现增删改查,并打印结果. 二.Pyth ...
- 列表数据提交_Mybatis-实现数据的增删改查
1. 用 mybatis 查询数据,包括列表 2. 用 mybatis 增加数据 3. 用 mybatis 更新数据. 4. 用 mybatis 删除数据. 查询数据,前面已经讲过简单的,主要看查询出 ...
- 学生的新增mySQL文档_MySQL增删改查
连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码] 创建数据库:create database [库名] 显示所有数据库: show databases; 打开数据库:use [ ...
- mock模拟的数据能增删改查吗_Mock.js模拟数据,脱离后端独立开发,实现增删改查功能...
在目前容近对端手近对端手近对端手近对端手近我们的生产实际中,后端的接口往往是较晚才会出来,并且还要写接口文档,于是我们的前端的许多开发都要等到接口给我们才能进行,这样对于我们前端来说显得十分的被动,于 ...
- Django实现对数据库数据增删改查(二)
目录 1.基本框架 1.1.路由分发 1.2.视图函数-逻辑处理 1.3.模板 2.查询功能 2.1.视图函数 2.2.模板函数 3.添加功能 3.1.路由分发 3.2视图函数 3.3.模板 4.编辑 ...
- SpringBoot+MySql实现一对多再多对多的数据库的设计以及业务层增删改查的实现
场景 SpringBoot+MySql+ElementUI实现一对多的数据库的设计以及增删改查的实现 https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article ...
- SpringBoot+MySql+ElementUI实现一对多的数据库的设计以及增删改查的实现
场景 业务中经常会用到一对多的数据库的设计与数据的增删改查的实现. 比如要实现一个对手机应用配置允许访问的权限的业务. app与权限就是一对多的关系.即一个app可以拥有多个权限. 注: 博客: ht ...
- 国产化之路-统信UOS /Nginx /Asp.Net Core+ EF Core 3.1/达梦DM8实现简单增删改查操作
引言 经过前期的准备工作,.net core 3.1的运行环境和WEB服务器已经搭建完毕,这里需要注意一下,达梦DM8数据库对于Entity Framework Core 3.1 的驱动在NuGet官 ...
最新文章
- 怎么从github上下载一个vue项目在本地运行
- Javascript学习总结三(Array对象的用法)
- 微信验证服务器是怎么回事,微信服务器认证为什么需要这么多参数?
- 别克gl8服务器返回数据为空,老司机教学:别克GL8商务车总线控制系统故障解决...
- 网站建设中 模板_网站建设之模板网站的缺点
- mysql根据排序取前百分之二十_MySQL 性能优化 MySQL常见SQL错误用法
- pandas作图_pandas绘图
- SQL:pgsql中查询某字段不等于的数据
- 2018计算机java二级题库6_2018年计算机二级考试JAVA试题及答案六
- unity3d 挂载脚本_Unity3D加载资源的四种方式
- MySQL数据库介绍
- kmeans算法中的sse_kmeans算法理解及代码实现
- [Unity]腾讯SDK踩坑之路(3)--米大师坑 + MSDK坑 (2)
- JPA-Specification 实现复杂查询
- maven相关(1)
- Python个人学习小结
- 【Linux操作】常用命令整理(持续更新中...)
- adb bugreport -- Failed to get bugreportz version
- #574. 火车票(railway)
- GNU Radio系列教程(一):什么是GNU Radio?为什么我需要用GNU Radio?