Rumah Java javaTutorial Laksanakan pemetaan ORM berdasarkan Spring Boot dan MyBatis Plus

Laksanakan pemetaan ORM berdasarkan Spring Boot dan MyBatis Plus

Jun 22, 2023 pm 09:27 PM
spring boot pemetaan orm mybatis plus

Dalam proses pembangunan aplikasi web Java, teknologi pemetaan ORM (Object-Relational Mapping) digunakan untuk memetakan data hubungan dalam pangkalan data kepada objek Java, menjadikannya lebih mudah untuk pembangun mengakses dan mengendalikan data. Spring Boot, sebagai salah satu rangka kerja pembangunan web Java yang paling popular pada masa ini, telah menyediakan cara untuk mengintegrasikan MyBatis, dan MyBatis Plus ialah rangka kerja ORM yang dilanjutkan berdasarkan MyBatis. Artikel ini akan memperkenalkan cara menggunakan Spring Boot dan MyBatis Plus untuk melaksanakan pemetaan ORM.

1. Spring Boot mengintegrasikan MyBatis Plus
Menggunakan MyBatis Plus dalam Spring Boot adalah sangat mudah, cuma tambahkan kebergantungan MyBatis Plus kepada maven.

<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-plus-boot-starter</artifactId>
  <version>3.4.2</version>
</dependency>
Salin selepas log masuk

Pada masa yang sama, konfigurasikan parameter berkaitan MyBatis Plus dalam application.properties atau application.yml, seperti yang ditunjukkan di bawah:

#数据库配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
#MyBatis Plus配置
mybatis.configuration.cache-enabled=false
mybatis.mapper-locations=classpath:mapper/*.xml
Salin selepas log masuk

Antaranya, nama kelas pemandu, url, nama pengguna dan kata laluan ialah pangkalan data Konfigurasi berkaitan, dan lokasi pemeta ialah laluan di mana fail konfigurasi pemetaan SQL MyBatis Plus terletak.

2. Tentukan kelas entiti dan antara muka Mapper
Seperti MyBatis, menggunakan MyBatis Plus juga memerlukan penentuan kelas entiti dan antara muka Mapper. Berikut mengambil jadual Pengguna ringkas sebagai contoh untuk menentukan kelas entiti yang sepadan dan antara muka Mapper.

  1. Tentukan kelas entiti
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class User {

    private Integer id;
    private String name;
    private Integer age;
    private String email;
    private Integer gender;
    private LocalDateTime createTime;
    private LocalDateTime updateTime;

}
Salin selepas log masuk

Menggunakan anotasi @Getter, @Setter dan @Builder boleh memudahkan kod, manakala @NoArgsConstructor dan @AllArgsConstructor digunakan untuk menjana tanpa parameter dan pembina Parameter penuh.

  1. Tentukan antara muka Mapper
public interface UserMapper extends BaseMapper<User> {
}
Salin selepas log masuk

BaseMapper yang disediakan oleh MyBatis Plus digunakan di sini, yang boleh menjimatkan banyak operasi SQL yang membosankan.

3. Gunakan MyBatis Plus untuk operasi pangkalan data
Selepas menentukan antara muka Mapper, anda boleh menggunakan MyBatis Plus untuk operasi pangkalan data.

  1. Sisipkan data
User user = User.builder()
        .name("test")
        .age(20)
        .email("test@test.com")
        .gender(1)
        .createTime(LocalDateTime.now())
        .updateTime(LocalDateTime.now())
        .build();
int count = userMapper.insert(user);
Salin selepas log masuk

Apabila memasukkan data, anda boleh terus menggunakan kaedah sisipan yang disediakan dalam antara muka Mapper dan MyBatis Plus akan memetakan atribut kelas entiti secara automatik ke lajur pangkalan data yang sepadan.

  1. Data pertanyaan
List<User> userList = userMapper.selectList(null);
Salin selepas log masuk

Apabila menanyakan data, anda boleh terus menggunakan kaedah selectList yang disediakan dalam antara muka Mapper dan menghantar objek kosong atau QueryWrapper kosong untuk menanyakan data Semua data. Selain itu, anda juga boleh menggunakan ungkapan lambda dan operasi rantai yang disediakan oleh MyBatis Plus untuk melaksanakan pertanyaan yang lebih kompleks, seperti yang ditunjukkan di bawah:

QueryWrapper<User> wrapper = Wrappers.<User>lambdaQuery()
        .eq(User::getGender, 1)
        .ge(User::getAge, 20)
        .orderByDesc(User::getCreateTime);
List<User> userList = userMapper.selectList(wrapper);
Salin selepas log masuk

Dalam kod di atas, gunakan Wrappers.lambdaQuery() A QueryWrapper objek ditakrifkan, dan syarat pertanyaan serta peraturan pengisihan dibina melalui operasi rantaian .eq, .ge dan .orderByDesc.

  1. Kemas kini data
User user = userMapper.selectById(id);
user.setAge(30);
int count = userMapper.updateById(user);
Salin selepas log masuk

Apabila mengemas kini data, anda boleh menanyakan data yang perlu dikemas kini dahulu melalui selectById, kemudian mengubah suai atribut yang perlu dikemas kini dan gunakan updateById untuk Data yang diubah suai dikemas kini kepada pangkalan data.

  1. Padam data
int count = userMapper.deleteById(id);
Salin selepas log masuk

Akhir sekali, apabila memadamkan data, panggil sahaja kaedah deleteById yang disediakan dalam antara muka Mapper.

4. Kesimpulan
Artikel ini memperkenalkan cara menggunakan Spring Boot dan MyBatis Plus untuk melaksanakan pemetaan ORM, dan operasi pangkalan data boleh dicapai melalui konfigurasi dan kod yang mudah. MyBatis Plus, sebagai rangka kerja lanjutan MyBatis, boleh memudahkan beban kerja pembangun sambil meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Disebabkan oleh had ruang, artikel ini hanya memperkenalkan penggunaan asas MyBatis Plus Untuk fungsi yang lebih maju, sila rujuk dokumentasi rasmi.

Atas ialah kandungan terperinci Laksanakan pemetaan ORM berdasarkan Spring Boot dan MyBatis Plus. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Spring Boot+MyBatis+Atomikos+MySQL (dengan kod sumber) Spring Boot+MyBatis+Atomikos+MySQL (dengan kod sumber) Aug 15, 2023 pm 04:12 PM

Dalam projek sebenar, kami cuba mengelakkan transaksi yang diedarkan. Walau bagaimanapun, kadangkala ia benar-benar perlu untuk melakukan beberapa pemisahan perkhidmatan, yang akan membawa kepada masalah transaksi yang diedarkan. Pada masa yang sama, transaksi yang diedarkan juga ditanya di pasaran semasa temu bual Anda boleh berlatih dengan kes ini, dan anda boleh bercakap tentang 123 dalam temu bual.

Mencapai sokongan berbilang bahasa dan aplikasi antarabangsa melalui Spring Boot Mencapai sokongan berbilang bahasa dan aplikasi antarabangsa melalui Spring Boot Jun 23, 2023 am 09:09 AM

Dengan perkembangan globalisasi, semakin banyak laman web dan aplikasi perlu menyediakan sokongan berbilang bahasa dan fungsi pengantarabangsaan. Bagi pembangun, melaksanakan fungsi ini bukanlah tugas yang mudah kerana ia memerlukan pertimbangan dari banyak aspek, seperti terjemahan bahasa, tarikh, masa dan format mata wang, dsb. Walau bagaimanapun, menggunakan rangka kerja SpringBoot, kami boleh melaksanakan sokongan berbilang bahasa dan aplikasi antarabangsa dengan mudah. Mula-mula, marilah kita memahami antara muka LocaleResolver yang disediakan oleh SpringBoot. Loc

Bina sistem ESB menggunakan Spring Boot dan Apache ServiceMix Bina sistem ESB menggunakan Spring Boot dan Apache ServiceMix Jun 22, 2023 pm 12:30 PM

Memandangkan perniagaan moden semakin bergantung pada pelbagai aplikasi dan sistem yang berbeza, integrasi perusahaan menjadi lebih penting. Bas Perkhidmatan Perusahaan (ESB) ialah model seni bina integrasi yang menghubungkan sistem dan aplikasi yang berbeza bersama-sama untuk menyediakan pertukaran data biasa dan perkhidmatan penghalaan mesej untuk mencapai penyepaduan aplikasi peringkat perusahaan. Menggunakan SpringBoot dan ApacheServiceMix, kami boleh membina sistem ESB dengan mudah Artikel ini akan memperkenalkan cara melaksanakannya. SpringBoot dan A

Cara menggunakan Spring Boot untuk membina aplikasi pemprosesan data besar Cara menggunakan Spring Boot untuk membina aplikasi pemprosesan data besar Jun 23, 2023 am 09:07 AM

Dengan kemunculan era data besar, semakin banyak syarikat mula memahami dan mengiktiraf nilai data besar dan menerapkannya dalam perniagaan. Masalah yang datang dengannya ialah bagaimana mengendalikan aliran data yang besar ini. Dalam kes ini, aplikasi pemprosesan data besar telah menjadi sesuatu yang mesti dipertimbangkan oleh setiap perusahaan. Bagi pembangun, cara menggunakan SpringBoot untuk membina aplikasi pemprosesan data besar yang cekap juga merupakan isu yang sangat penting. SpringBoot ialah rangka kerja Java yang sangat popular yang membolehkan

Laksanakan pemetaan ORM berdasarkan Spring Boot dan MyBatis Plus Laksanakan pemetaan ORM berdasarkan Spring Boot dan MyBatis Plus Jun 22, 2023 pm 09:27 PM

Dalam proses pembangunan aplikasi web Java, teknologi pemetaan ORM (Object-RelationalMapping) digunakan untuk memetakan data hubungan dalam pangkalan data kepada objek Java, menjadikannya mudah untuk pembangun mengakses dan mengendalikan data. SpringBoot, sebagai salah satu rangka kerja pembangunan web Java yang paling popular pada masa ini, telah menyediakan cara untuk mengintegrasikan MyBatis, dan MyBatisPlus ialah rangka kerja ORM yang dilanjutkan berdasarkan MyBatis.

Penyepaduan dan penggunaan pangkalan data Spring Boot dan NoSQL Penyepaduan dan penggunaan pangkalan data Spring Boot dan NoSQL Jun 22, 2023 pm 10:34 PM

Dengan perkembangan Internet, analisis data besar dan pemprosesan maklumat masa nyata telah menjadi keperluan penting bagi perusahaan. Untuk memenuhi keperluan tersebut, pangkalan data hubungan tradisional tidak lagi memenuhi keperluan pembangunan perniagaan dan teknologi. Sebaliknya, menggunakan pangkalan data NoSQL telah menjadi pilihan penting. Dalam artikel ini, kita akan membincangkan penggunaan SpringBoot yang disepadukan dengan pangkalan data NoSQL untuk membolehkan pembangunan dan penggunaan aplikasi moden. Apakah pangkalan data NoSQL?

Spring Boot melaksanakan teknologi pemisahan baca-tulis MySQL Spring Boot melaksanakan teknologi pemisahan baca-tulis MySQL Aug 15, 2023 pm 04:52 PM

Bagaimana untuk mencapai pemisahan baca-tulis, projek Spring Boot, pangkalan data adalah MySQL, dan lapisan kegigihan menggunakan MyBatis.

Bina aplikasi desktop menggunakan Spring Boot dan JavaFX Bina aplikasi desktop menggunakan Spring Boot dan JavaFX Jun 22, 2023 am 10:55 AM

Memandangkan teknologi terus berkembang, kami kini boleh menggunakan teknologi yang berbeza untuk membina aplikasi desktop. SpringBoot dan JavaFX ialah salah satu pilihan yang lebih popular sekarang. Artikel ini akan menumpukan pada cara menggunakan kedua-dua rangka kerja ini untuk membina aplikasi desktop yang kaya dengan ciri. 1. Pengenalan kepada SpringBoot dan JavaFXSpringBoot ialah rangka kerja pembangunan pesat berdasarkan rangka kerja Spring. Ia membantu pembangun membina aplikasi web dengan cepat sambil menyediakan satu set

See all articles