Rumah >Java >javaTutorial >Bagaimana untuk mengintegrasikan Hibernate dalam projek SpringBoot

Bagaimana untuk mengintegrasikan Hibernate dalam projek SpringBoot

WBOY
WBOYke hadapan
2023-05-18 09:49:231700semak imbas

Mengintegrasikan Hibernate dalam Projek But Spring

Preface

Hibernate ialah rangka kerja ORM (Pemetaan Perkaitan Objek) yang popular yang boleh memetakan objek Java ke jadual pangkalan data dengan mudah. Dalam projek Spring Boot, penyepaduan Hibernate boleh membantu kami melaksanakan operasi pangkalan data dengan lebih mudah Artikel ini akan memperkenalkan cara untuk menyepadukan Hibernate dalam projek Spring Boot dan memberikan contoh yang sepadan.

1. Perkenalkan dependensi

Perkenalkan dependensi berikut dalam fail pom.xml:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
</dependency>

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-core</artifactId>
</dependency>

Antaranya, spring-boot-starter-data-jpa disediakan oleh Spring Boot Sebagai kebergantungan permulaan untuk menyepadukan JPA (Java Persistence API), ia sudah termasuk kebergantungan berkaitan Hibernate. Pemacu untuk pangkalan data MySQL ialah mysql-connector-java. hibernate-core ialah pergantungan teras Hibernate.

2. Konfigurasikan sumber data

Konfigurasikan sumber data dalam application.properties:

spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
spring.jpa.hibernate.ddl-auto=create-drop

Pangkalan data MySQL digunakan di sini dan boleh diubah suai mengikut situasi sebenar. Antaranya, atribut spring.jpa.hibernate.ddl-auto menentukan cara Hibernate menjana jadual pangkalan data secara automatik, dan create-drop bermakna jadual akan dibuat setiap kali aplikasi dimulakan dan jadual akan dipadamkan apabila aplikasi itu tertutup.

3 Buat kelas entiti

Buat kelas entiti mudah untuk pemetaan ke jadual pangkalan data:

@Entity
@Table(name = "person")
public class Person {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "name")
    private String name;

    @Column(name = "age")
    private int age;

    // getters and setters
}

Gunakan anotasi @Entity pada kelas entiti untuk menunjukkan bahawa ini ialah kelas entiti JPA. Anotasi @Table digunakan untuk menentukan nama jadual pangkalan data yang mana kelas entiti dipetakan. Gunakan anotasi @Id untuk menentukan kunci utama kelas entiti dan gunakan @GeneratedValue untuk menentukan cara kunci utama dijana. Anotasi @Column digunakan untuk menentukan nama lajur pangkalan data yang mana atribut kelas entiti dipetakan.

4. Cipta Repositori

Buat Repositori mudah untuk mengakses pangkalan data:

@Repository
public interface PersonRepository extends JpaRepository<Person, Long> {
}

Gunakan anotasi @Repository pada Repositori untuk menunjukkan bahawa ia adalah komponen Spring, dan Digunakan untuk mengakses pangkalan data. PersonRepository mewarisi daripada JpaRepository antara muka ini menyediakan banyak kaedah operasi pangkalan data biasa, seperti save, findById, dsb.

5. Tulis kod perniagaan

Gunakan PersonRepository dalam Perkhidmatan untuk operasi pangkalan data:

@Service
public class PersonService {
public void savePerson(Person person) {
    personRepository.save(person);
}

public List<Person> getPersons() {
    return personRepository.findAll();
}

Anotasi @Service digunakan pada Perkhidmatan untuk menunjukkan bahawa ia adalah komponen Spring yang digunakan untuk mengendalikan logik perniagaan. Dalam contoh ini, kami mentakrifkan dua kaedah, savePerson digunakan untuk menyimpan objek Person ke pangkalan data, dan getPersons digunakan untuk mendapatkan semua objek Person.

6 Tulis pengawal untuk mengendalikan permintaan http

Tulis pengawal mudah untuk mengendalikan permintaan HTTP:

@RestController
public class PersonController {
    @Autowired
    private PersonService personService;

    @PostMapping("/person")
    public void savePerson(@RequestBody Person person) {
        personService.savePerson(person);
    }

    @GetMapping("/persons")
    public List<Person> getPersons() {
        return personService.getPersons();
    }
}

Gunakan anotasi @RestController pada pengawal, Menunjukkan bahawa ini adalah komponen Spring dan digunakan untuk mengendalikan permintaan HTTP. Dalam contoh ini, kami mentakrifkan dua kaedah, savePerson digunakan untuk memproses permintaan POST dan menyimpan objek Person ke pangkalan data, dan getPersons digunakan untuk memproses permintaan GET dan mendapatkan semua objek Person.

7. Jalankan aplikasi

Kini anda boleh memulakan aplikasi dan mengakses http://localhost:8080/persons untuk mendapatkan semua objek Person. Jika anda perlu menambah objek Orang baharu, anda boleh menggunakan permintaan POST untuk menghantar data ke http://localhost:8080/person. Jika semuanya baik-baik saja, anda seharusnya melihat output berikut:

[{"id":1,"name":"Alice","age":20},{"id":2 ,"nama":"Bob","umur":30}]

Atas ialah kandungan terperinci Bagaimana untuk mengintegrasikan Hibernate dalam projek SpringBoot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam