一、文件放的位置大概是这样的

测试结果OK
postman测试
http://localhost:8087/user/saveOrUpdate

数据库增加的数据

二、pom.xml
有些后面写代码的过程引入也OK
<?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>
<groupId>cn.nacos.consumer</groupId>
<artifactId>nacos-consumer</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>nacos-consumer</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.1.0.RELEASE</spring-boot.version>
</properties>
<dependencies>
<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>
<!--nacos依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.0.1.RELEASE</version>
</dependency>
<!--openfeign依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.13</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
三、application.yml datasource里面改为自己本地数据库的信息(建好自己的数据库)
server:
port: 8087
spring:
application:
name: nacos-consumer
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
#mysql config
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/study_cloud?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false
username: root
password: root
main:
allow-bean-definition-overriding: true
logging:
level:
root: info
org.springframework: info
mybatis-plus:
mapper-locations: classpath*:xml
type-aliases-package: com.example.nacosprovider.entity
四、启动类 NacosConsumerApplication,@ComponentScan注解可以启动时扫描到相应的类或接口
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
@ComponentScan("com.example.nacosprovider.*")
public class NacosConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(NacosConsumerApplication.class, args);
}
}
====加入实体类,@Data插件如果生效的话,就不要这些get set方法
@Data
@Api("")
public class User {
@ApiModelProperty("")
private Long id;
@ApiModelProperty("")
private String username;
@ApiModelProperty("")
private Integer merchantId;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Integer getMerchantId() {
return merchantId;
}
public void setMerchantId(Integer merchantId) {
this.merchantId = merchantId;
}
}
@Data public class UserSaveOrUpdateReq { @ApiModelProperty("") private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
五、Controller
@RestController public class UserController { @Resource private UserService userService;
@ApiOperation("添加或修改")
@PostMapping("/user/saveOrUpdate")
public Boolean saveOrUpdate(@RequestBody UserSaveOrUpdateReq userSaveOrUpdateReq) {
return userService.saveOrUpdate(userSaveOrUpdateReq);
}
}
六、Service层
public interface UserService extends IService { /** * * @param userSaveOrUpdateReq * @return */ Boolean saveOrUpdate(UserSaveOrUpdateReq userSaveOrUpdateReq); }
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Resource
private UserMapper userMapper;
@Override
public Boolean saveOrUpdate(UserSaveOrUpdateReq userSaveOrUpdateReq) {
User user = new User();
user.setUsername(userSaveOrUpdateReq.getUsername());
user.setMerchantId(1);
int insert = userMapper.insert(user);
return (insert > 0 ? true : false);
}
}
```
七、Mapper层
```
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
```
八、配置类 StudyConfiguration.java
Spring 抛除XML使用注解
<context:Component-Scan base-package=“com.example.nacosprovider.mapper”> </context:Component-Scan>
```
@Configuration
@ComponentScan(basePackages = "com.example.nacosprovider.mapper")
public class StudyConfiguration {
}
```
最后 测试通过

数据库增加的数据

> 本文使用 [文章同步助手](https://juejin.cn/post/6940875049587097631) 同步