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.
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.
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.
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); }
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.
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>
, menunjukkan bahawa satu artikel sepadan dengan berbilang ulasan.
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
.
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!