写一个springcloudalibaba框架下的增删改查demo
时间: 2024-06-08 17:05:53 浏览: 114
好的,下面是一个简单的Spring Cloud Alibaba框架下的增删改查的Demo。
首先,在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-seata-all</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.73</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
```
然后,创建一个Spring Boot应用程序,并添加以下配置:
```yaml
server:
port: 8080
spring:
application:
name: demo-service
datasource:
url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
cloud:
nacos:
discovery:
server-addr: localhost:8848
config:
server-addr: localhost:8848
namespace: dev
group: DEFAULT_GROUP
file-extension: yaml
alibaba:
seata:
enabled: true
dubbo:
registry:
address: nacos://localhost:8848
```
其中,使用了Nacos作为服务注册中心和配置中心,使用了Seata来实现分布式事务,使用了MySQL数据库。
接下来,创建一个实体类User:
```java
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
```
然后,创建一个Mapper接口UserMapper:
```java
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
```
这里使用了Mybatis-Plus框架来简化数据库操作。
接下来,创建一个Service接口UserService:
```java
public interface UserService {
boolean saveUser(User user);
boolean updateUserById(User user);
boolean deleteUserById(Long id);
User getUserById(Long id);
List<User> listUsers();
}
```
然后,创建一个实现类UserServiceImpl:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public boolean saveUser(User user) {
return userMapper.insert(user) > 0;
}
@Override
public boolean updateUserById(User user) {
return userMapper.updateById(user) > 0;
}
@Override
public boolean deleteUserById(Long id) {
return userMapper.deleteById(id) > 0;
}
@Override
public User getUserById(Long id) {
return userMapper.selectById(id);
}
@Override
public List<User> listUsers() {
return userMapper.selectList(null);
}
}
```
最后,创建一个Controller类UserController:
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/save")
public boolean saveUser(@RequestBody User user) {
return userService.saveUser(user);
}
@PostMapping("/update")
public boolean updateUserById(@RequestBody User user) {
return userService.updateUserById(user);
}
@GetMapping("/delete/{id}")
public boolean deleteUserById(@PathVariable Long id) {
return userService.deleteUserById(id);
}
@GetMapping("/get/{id}")
public User getUserById(@PathVariable Long id) {
return userService.getUserById(id);
}
@GetMapping("/list")
public List<User> listUsers() {
return userService.listUsers();
}
}
```
现在,我们可以启动应用程序并通过访问http://localhost:8080/user/list来查询所有用户,通过访问http://localhost:8080/user/save来添加新用户,通过访问http://localhost:8080/user/update来更新用户信息,通过访问http://localhost:8080/user/delete/{id}来删除用户。
以上就是一个简单的Spring Cloud Alibaba框架下的增删改查的Demo。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)