Rumah >Java >javaTutorial >Menggunakan MyBatis untuk pemetaan SQL dalam pembangunan API Java
Gunakan MyBatis untuk pemetaan SQL dalam pembangunan API Java
Dalam pembangunan Web Java, kita selalunya perlu memanggil API pangkalan data untuk membaca dan menulis data. Walau bagaimanapun, adalah sangat menyusahkan untuk menggunakan API JDBC (Java Database Connectivity) secara langsung untuk operasi data, yang memerlukan penulisan penyata SQL secara manual, pemprosesan sambungan pangkalan data, set hasil, dsb. Tugas-tugas remeh ini bukan sahaja mengurangkan kecekapan kerja pembangun, tetapi juga meningkatkan kesukaran kebolehbacaan dan kebolehselenggaraan kod. Oleh itu, kami memerlukan rangka kerja ORM (Object Relational Mapping) yang sangat baik untuk menyelesaikan masalah ini.
MyBatis ialah rangka kerja ORM yang sangat baik yang membolehkan pembangun melaksanakan operasi pangkalan data dengan mudah dan cepat dengan hanya sedikit konfigurasi. Artikel berikut akan memperkenalkan anda kepada operasi asas menggunakan MyBatis untuk pemetaan SQL dalam pembangunan API Java.
1. Konfigurasi asas MyBatis
Sebelum menggunakan MyBatis untuk pembangunan, kita perlu terlebih dahulu memahami konfigurasi asas MyBatis. Mula-mula, kita perlu menambah kebergantungan berkaitan MyBatis pada fail pom.xml projek:
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency>
Kemudian, kita perlu mencipta fail konfigurasi mybatis-config.xml dalam direktori src/main/resources untuk menentukan MyBatis maklumat konfigurasi. Antaranya, perkara yang paling penting ialah konfigurasi sumber data Kami boleh mengkonfigurasinya dengan cara berikut:
<configuration> <environments default="dev"> <environment id="dev"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> <mapper resource="mybatis/mapper/PersonMapper.xml"/> </mappers> </configuration>
Melalui konfigurasi di atas, kami mengkonfigurasi maklumat sambungan pangkalan data dan lokasi membaca. fail pemetaan. Antaranya, tag mapper
menentukan fail pemetaan SQL yang akan kami gunakan Di sini kami menggunakan fail pemetaan PersonMapper.xml
sebagai contoh.
2. Tentukan fail pemetaan MyBatis
Dalam MyBatis, penulisan pernyataan SQL dilaksanakan melalui fail XML. Kami perlu mentakrifkan fail pemetaan (seperti PersonMapper.xml) untuk menyimpan maklumat pemetaan antara jadual data dan kelas entiti Java serta pernyataan SQL yang berkaitan.
Berikut ialah contoh Katakan kita mempunyai kelas entiti Orang, yang mengandungi tiga atribut: id, nama dan umur Kita perlu memetakannya ke jadual orang dalam pangkalan data. Kemudian, kita boleh mentakrifkan pernyataan pemetaan SQL berikut dalam data PersonMapper. Dalam setiap pernyataan pemetaan SQL, kita perlu menentukan jenis pernyataan SQL (seperti pilih, masukkan, padam, kemas kini, dll.), dan nyatakan nama kaedah, jenis parameter dan jenis nilai pulangan yang sepadan dengan pernyataan SQL.
3. Gunakan MyBatis untuk operasi data mudah
Selepas kami menentukan fail konfigurasi dan fail pemetaan SQL MyBatis, kami boleh memanggil kaedah yang sepadan dalam kod Java untuk melaksanakan data yang sepadan. telah dimanipulasi. Berikut ialah contoh menyoal objek Orang berdasarkan ID.
1) Tentukan kelas Orang
Andaikan kita mempunyai kelas entiti Orang, yang mengandungi tiga atribut: id, nama dan umur:
<mapper namespace="com.example.mapper.PersonMapper"> <select id="selectPersonById" parameterType="int" resultType="com.example.model.Person"> SELECT * FROM person WHERE id = #{id} </select> <insert id="insertPerson" parameterType="com.example.model.Person"> INSERT INTO person (id, name, age) VALUES (#{id}, #{name}, #{age}) </insert> <delete id="deletePersonById" parameterType="int"> DELETE FROM person WHERE id=#{id} </delete> <update id="updatePerson" parameterType="com.example.model.Person"> UPDATE person SET name=#{name}, age=#{age} WHERE id=#{id} </update> </mapper>
2) Tentukan antara muka PersonMapper
Dalam antara muka PersonMapper, kita boleh menentukan kaedah untuk menambah, memadam, mengubah suai dan menanyakan jadual orang, seperti yang ditunjukkan di bawah:
public class Person { private int id; private String name; private int age; // getters and setters }
3) Gunakan MyBatis untuk operasi data
Dalam kod Java, kita boleh menggunakan kelas SqlSessionFactory MyBatis untuk mencipta objek kilang sesi SQL. Melalui objek ini, kita boleh mendapatkan objek sesi SQL, dan kemudian memanggil kaedah objek untuk melaksanakan operasi data. Berikut ialah contoh mudah untuk menanyakan objek Orang berdasarkan ID:
public interface PersonMapper { Person selectPersonById(int id); void insertPerson(Person person); void deletePersonById(int id); void updatePerson(Person person); }
Dalam kod di atas, kami menggunakan kelas SqlSessionFactoryBuilder untuk mencipta objek SqlSessionFactory daripada fail mybatis-config.xml. Kemudian, kami mencipta objek SqlSession melalui objek SqlSessionFactory, dan memperoleh objek kelas proksi PersonMapper melalui kaedah
objek. Akhir sekali, kami memanggil kaedah selectPersonById kelas proksi, memperoleh objek Person dengan ID 1, dan mencetak output. Bukankah ia sangat mudah?getMapper
4. Ringkasan
MyBatis ialah rangka kerja ORM yang sangat baik melalui fail pemetaannya, kami boleh melakukan pemetaan SQL dengan mudah dan cepat. Artikel ini memperkenalkan konfigurasi asas dan penggunaan MyBatis, dengan harapan dapat membantu semua orang dengan operasi data dalam pembangunan API Java. Sudah tentu, terdapat banyak lagi ciri lanjutan dan teknik pengoptimuman untuk menggunakan MyBatis, yang akan kami perkenalkan dalam artikel seterusnya, jadi nantikan!
Atas ialah kandungan terperinci Menggunakan MyBatis untuk pemetaan SQL dalam pembangunan API Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!