黑狐家游戏

微服务架构springcloud的增删改 模糊查询 分页,Spring Cloud微服务架构下实现增删改查与模糊查询分页功能详解

欧气 0 0

本文目录导读:

微服务架构springcloud的增删改 模糊查询 分页,Spring Cloud微服务架构下实现增删改查与模糊查询分页功能详解

图片来源于网络,如有侵权联系删除

  1. 项目搭建

随着互联网的快速发展,传统的单体架构已经无法满足日益增长的业务需求,微服务架构作为一种新型的架构风格,逐渐成为主流,Spring Cloud作为微服务框架,提供了丰富的组件和工具,帮助开发者轻松实现微服务架构,本文将详细介绍如何在Spring Cloud微服务架构下实现增删改查、模糊查询和分页功能。

项目搭建

1、创建Spring Boot项目

使用Spring Initializr创建一个Spring Boot项目,添加依赖如下:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka-server</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
</dependencies>

2、配置文件

微服务架构springcloud的增删改 模糊查询 分页,Spring Cloud微服务架构下实现增删改查与模糊查询分页功能详解

图片来源于网络,如有侵权联系删除

application.properties中配置数据库连接信息、Eureka注册中心和配置中心相关信息:

spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/
spring.cloud.config.uri=http://localhost:8700

3、创建实体类

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private String email;
    private Integer age;
    // getter和setter方法
}

4、创建数据访问接口

public interface UserRepository extends JpaRepository<User, Long> {
}

5、创建服务层

微服务架构springcloud的增删改 模糊查询 分页,Spring Cloud微服务架构下实现增删改查与模糊查询分页功能详解

图片来源于网络,如有侵权联系删除

@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;
    public List<User> findAll() {
        return userRepository.findAll();
    }
    public User save(User user) {
        return userRepository.save(user);
    }
    public void deleteById(Long id) {
        userRepository.deleteById(id);
    }
    public Page<User> search(String keyword, int page, int size) {
        Pageable pageable = PageRequest.of(page, size);
        return userRepository.findAll(Specification.where(nameLike(keyword)).or(emailLike(keyword)), pageable);
    }
    private Specification<User> nameLike(String keyword) {
        return (root, query, criteriaBuilder) -> criteriaBuilder.like(root.get("name"), "%" + keyword + "%");
    }
    private Specification<User> emailLike(String keyword) {
        return (root, query, criteriaBuilder) -> criteriaBuilder.like(root.get("email"), "%" + keyword + "%");
    }
}

6、创建控制器

@RestController
@RequestMapping("/users")
public class UserController {
    @Autowired
    private UserService userService;
    @GetMapping
    public List<User> findAll() {
        return userService.findAll();
    }
    @PostMapping
    public User save(@RequestBody User user) {
        return userService.save(user);
    }
    @DeleteMapping("/{id}")
    public void deleteById(@PathVariable Long id) {
        userService.deleteById(id);
    }
    @GetMapping("/search")
    public Page<User> search(@RequestParam("keyword") String keyword, @RequestParam("page") int page, @RequestParam("size") int size) {
        return userService.search(keyword, page, size);
    }
}

本文详细介绍了在Spring Cloud微服务架构下实现增删改查、模糊查询和分页功能的方法,通过使用Spring Boot、Spring Data JPA、Eureka和配置中心等组件,我们可以轻松实现一个功能完善的微服务应用,在实际开发过程中,可以根据项目需求对代码进行优化和扩展。

标签: #微服务架构springcloud

黑狐家游戏
  • 评论列表

留言评论