溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Spring Boot與Spring Data JDBC的CRUD操作

發(fā)布時(shí)間:2024-11-15 15:54:02 來(lái)源:億速云 閱讀:78 作者:小樊 欄目:編程語(yǔ)言

Spring Boot是一個(gè)用于簡(jiǎn)化Spring應(yīng)用程序開(kāi)發(fā)的框架,它提供了自動(dòng)配置、內(nèi)嵌服務(wù)器和許多其他功能。Spring Data JDBC是一個(gè)基于JDBC的庫(kù),它簡(jiǎn)化了數(shù)據(jù)庫(kù)訪問(wèn)層(CRUD操作)的開(kāi)發(fā)。

下面是一個(gè)使用Spring Boot和Spring Data JDBC進(jìn)行CRUD操作的簡(jiǎn)單示例:

  1. 添加依賴(lài)

pom.xml文件中添加Spring Boot和Spring Data JDBC的依賴(lài):

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
</dependencies>
  1. 創(chuàng)建實(shí)體類(lèi)

創(chuàng)建一個(gè)名為User的實(shí)體類(lèi),并使用@Entity注解標(biāo)記它:

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private Integer age;

    // Getters and setters
}
  1. 創(chuàng)建Repository接口

創(chuàng)建一個(gè)名為UserRepository的接口,并繼承JdbcRepository接口。這將自動(dòng)提供CRUD操作的方法:

import org.springframework.data.jdbc.repository.JdbcRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface UserRepository extends JdbcRepository<User, Long> {
}
  1. 創(chuàng)建服務(wù)類(lèi)

創(chuàng)建一個(gè)名為UserService的服務(wù)類(lèi),并在其中注入UserRepository

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;

    public User save(User user) {
        return userRepository.save(user);
    }

    public User findById(Long id) {
        return userRepository.findById(id).orElse(null);
    }

    public List<User> findAll() {
        return userRepository.findAll();
    }

    public void delete(Long id) {
        userRepository.deleteById(id);
    }
}
  1. 創(chuàng)建控制器類(lèi)

創(chuàng)建一個(gè)名為UserController的控制器類(lèi),并在其中注入UserService

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/users")
public class UserController {
    @Autowired
    private UserService userService;

    @PostMapping
    public User save(@RequestBody User user) {
        return userService.save(user);
    }

    @GetMapping("/{id}")
    public User findById(@PathVariable Long id) {
        return userService.findById(id);
    }

    @GetMapping
    public List<User> findAll() {
        return userService.findAll();
    }

    @DeleteMapping("/{id}")
    public void delete(@PathVariable Long id) {
        userService.delete(id);
    }
}

現(xiàn)在,你已經(jīng)創(chuàng)建了一個(gè)使用Spring Boot和Spring Data JDBC進(jìn)行CRUD操作的簡(jiǎn)單應(yīng)用程序。你可以運(yùn)行這個(gè)應(yīng)用程序,并使用Postman或其他API測(cè)試工具進(jìn)行測(cè)試。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI