cari
RumahJavajavaTutorialMenggunakan MyBatis-Plus untuk pemprosesan CRUD dalam pembangunan API Java

Memandangkan skala tapak web terus berkembang, pembangun Java semakin perlu mengendalikan sejumlah besar operasi pangkalan data. Menghadapi situasi ini, jika anda menggunakan pernyataan SQL tradisional untuk pembangunan, adalah mudah untuk mempunyai kod pendua dan berlebihan. Jika anda menggunakan rangka kerja untuk pembangunan, anda boleh mengelakkan masalah ini. Antaranya, MyBatis-Plus ialah rangka kerja yang sangat popular yang boleh digunakan untuk pemprosesan CRUD dalam pembangunan API Java.

Dalam artikel ini, kami akan menerangkan secara terperinci cara menggunakan MyBatis-Plus untuk pemprosesan CRUD. Secara khusus, kami akan membincangkan cara menggunakan MyBatis-Plus untuk pemprosesan CRUD meja tunggal dan CRUD berbilang jadual.

CRUD jadual tunggal

Dalam pemprosesan CRUD jadual tunggal, kita perlu mencipta kelas entiti dahulu, dan kemudian memetakan kelas entiti ke jadual pangkalan data. Seterusnya, kita boleh menggunakan kaedah yang disediakan oleh MyBatis-Plus untuk pemprosesan CRUD.

Buat kelas entiti

Pertama, kita perlu mencipta kelas entiti untuk menyimpan data yang perlu kita kendalikan. Dalam kelas entiti ini, ia biasanya mengandungi beberapa atribut asas dan beberapa kaedah getter dan setter. Berikut ialah contoh:

@Data
@TableName("user")
public class User {
    @TableId(type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

Dalam kelas entiti ini, kami menggunakan anotasi MyBatis-Plus untuk memetakan nama jadual dan kunci utama. Antaranya, anotasi @TableName("user") menunjukkan bahawa nama jadual yang sepadan dengan kelas entiti ini ialah user dan anotasi @TableId(type = IdType.AUTO) menunjukkan jenis kenaikan automatik kunci utama.

Gunakan MyBatis-Plus untuk pemprosesan CRUD

Seterusnya, kita boleh menggunakan antara muka DAO yang disediakan oleh MyBatis-Plus untuk pemprosesan CRUD. MyBatis-Plus menyediakan beberapa kaedah CRUD yang biasa digunakan, seperti insert(), updateById(), selectById() dan sebagainya.

@Repository
public interface UserDao extends BaseMapper<User> {
}

Dalam contoh di atas, kita hanya perlu mewarisi antara muka BaseMapper untuk menggunakan kaedah CRUD. Secara khusus, kita boleh menggunakan kaedah insert() untuk memasukkan sekeping data:

@Autowired
private UserDao userDao;

public void insertUser(User user) {
    userDao.insert(user);
}

Gunakan kaedah updateById() untuk mengemas kini sekeping data:

public void updateUser(User user) {
    userDao.updateById(user);
}

Gunakan kaedah selectById() untuk menanyakan sekeping data:

public User selectUserById(Long id) {
    return userDao.selectById(id);
}

Gunakan kaedah deleteById() untuk memadam sekeping data:

public void deleteUserById(Long id) {
    userDao.deleteById(id);
}

CRUD berbilang jadual

Selain jadual tunggal Pemprosesan CRUD, MyBatis-Plus juga menyokong pemprosesan CRU berbilang jadual. Dalam operasi berbilang jadual, kami biasanya memperoleh data yang diperlukan melalui pertanyaan jadual bersama.

Buat kelas entiti

Berbeza daripada CRUD jadual tunggal, operasi berbilang jadual memerlukan mencipta berbilang kelas entiti dan mewujudkan perhubungan antara mereka. Berikut ialah contoh:

@Data
public class ArticleVO {
    private Long id;
    private String title;
    private String content;
    private List<CommentVO> comments;
}

@Data
public class CommentVO {
    private Long id;
    private String content;
    private Long articleId;
}

Dalam contoh ini, kami mencipta dua kelas entiti: ArticleVO dan CommentVO. Kelas entiti ArticleVO mengandungi atribut jenis List<commentvo></commentvo>, menunjukkan bahawa satu artikel sepadan dengan berbilang ulasan.

Gunakan MyBatis-Plus untuk pemprosesan CRUD

Dalam pemprosesan CRUD berbilang jadual, kita perlu menggunakan kaedah pertanyaan jadual bersama yang disediakan oleh MyBatis-Plus untuk mendapatkan data yang diperlukan. MyBatis-Plus menyediakan kaedah selectJoin() untuk melakukan pertanyaan jadual bersama.

@Repository
public interface ArticleDao extends BaseMapper<Article> {
    @Select("SELECT a.*, c.id AS comment_id, c.content AS comment_content FROM article a LEFT JOIN comment c ON a.id = c.article_id WHERE a.id = #{id}")
    ArticleVO selectArticleWithCommentsById(Long id);
}

Dalam kod di atas, kami melaksanakan pertanyaan jadual bersama antara LEFT JOIN dan ArticleVO melalui CommentVO. Pernyataan SQL ini menanyakan semua komen yang sepadan dengan artikel dan menyimpan maklumatnya dalam dua kelas entiti: ArticleVO dan CommentVO.

Ringkasan

Dalam artikel ini, kami menerangkan secara terperinci cara menggunakan MyBatis-Plus untuk pemprosesan CRUD meja tunggal dan CRUD berbilang jadual. Melalui enkapsulasi MyBatis-Plus, kami boleh mencapai kod yang lebih ringkas, mudah dibaca dan mudah diselenggara. MyBatis-Plus juga mempunyai banyak ciri dan fungsi lain yang boleh membantu kami membangunkan aplikasi berkaitan pangkalan data dengan lebih cekap.

Atas ialah kandungan terperinci Menggunakan MyBatis-Plus untuk pemprosesan CRUD dalam pembangunan API Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Mar 17, 2025 pm 05:46 PM

Artikel ini membincangkan menggunakan Maven dan Gradle untuk Pengurusan Projek Java, membina automasi, dan resolusi pergantungan, membandingkan pendekatan dan strategi pengoptimuman mereka.

Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Mar 17, 2025 pm 05:45 PM

Artikel ini membincangkan membuat dan menggunakan perpustakaan Java tersuai (fail balang) dengan pengurusan versi dan pergantungan yang betul, menggunakan alat seperti Maven dan Gradle.

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Mar 17, 2025 pm 05:44 PM

Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Mar 17, 2025 pm 05:43 PM

Artikel ini membincangkan menggunakan JPA untuk pemetaan objek-relasi dengan ciri-ciri canggih seperti caching dan pemuatan malas. Ia meliputi persediaan, pemetaan entiti, dan amalan terbaik untuk mengoptimumkan prestasi sambil menonjolkan potensi perangkap. [159 aksara]

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Mar 17, 2025 pm 05:35 PM

Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai

See all articles

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)
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),