Dengan pembangunan Internet, semakin banyak aplikasi perlu berurusan dengan pangkalan data, dan teknologi ORM (Object-Relational Mapping) wujud. Ia memetakan data dalam pangkalan data hubungan kepada model objek, membolehkan kami Memanipulasi data pangkalan data seperti objek Java biasa. Spring Boot dan Spring Data JPA pada masa ini merupakan teknologi ORM yang paling popular Artikel ini akan memperkenalkan cara melaksanakan pemetaan ORM melalui penyepaduan mereka.
Sebelum memulakan kandungan artikel ini, anda perlu memahami Spring Boot dan Spring Data JPA dan dilengkapi dengan persekitaran berikut:
Buat projek Spring Boot baharu Untuk operasi tertentu, anda boleh mencipta projek Maven dalam IDE, pilih kebergantungan Spring Boot atau gunakan Spring Initializr untuk membinanya dengan cepat.
Konfigurasikan fail pom.xml untuk menambah kebergantungan pemacu Data Spring JPA dan MySQL.
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
Konfigurasikan fail application.properties untuk menetapkan sifat sumber data.
# 数据库连接信息 spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver # JPA配置 spring.jpa.show-sql=true # 显示SQL spring.jpa.hibernate.ddl-auto=update # 自动创建表 spring.jpa.properties.hibernate.hbm2ddl.auto=update # 自动更新表 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect # 数据库方言
Buat kelas entiti, gunakan anotasi @Entity untuk menandakannya sebagai kelas entiti dan gunakan anotasi @Id untuk menandakan utama kunci.
@Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private Integer age; // 省略getter和setter方法 }
Buat antara muka Repositori, mewarisi JpaRepository, yang menyediakan sejumlah besar kaedah operasi CRUD.
public interface UserRepository extends JpaRepository<User, Long> { }
Suntikan UserRepository ke dalam kelas ujian dan gunakannya untuk mengendalikan pangkalan data.
@RunWith(SpringRunner.class) @SpringBootTest public class UserRepositoryTest { @Autowired private UserRepository userRepository; @Test public void testSave() { User user = new User(); user.setName("test"); user.setAge(20); userRepository.save(user); assertThat(user.getId()).isNotNull(); } @Test public void testFindByName() { User user = new User(); user.setName("test"); user.setAge(20); userRepository.save(user); User foundUser = userRepository.findByName("test"); assertThat(foundUser.getName()).isEqualTo(user.getName()); } }
Jalankan kelas ujian dan lihat keputusan ujian. Jika ujian lulus, integrasi berjaya.
Melalui langkah di atas, kami berjaya menyelesaikan konfigurasi dan penggunaan pemetaan ORM dengan menyepadukan Spring Boot dan Spring Data JPA. Sudah tentu, ini hanyalah pengenalan kepada penggunaan asas Spring Data JPA juga menyediakan banyak fungsi lain, seperti halaman, pengisihan, pertanyaan bersyarat, dll. Saya berharap pembaca dapat lebih memahami dan menguasai penggunaan Spring Boot dan Spring Data JPA melalui pengenalan artikel ini, dan membangunkan aplikasi yang sangat baik dengan lebih baik.
Atas ialah kandungan terperinci Spring Boot dan Spring Data JPA disepadukan untuk melaksanakan pemetaan ORM. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!