MyBatis Bermula: Tulis contoh program lengkap
Pengenalan:
MyBatis ialah rangka kerja lapisan ketekunan Java yang sangat popular yang boleh berinteraksi dengan pangkalan data dan menyediakan cara yang fleksibel dan cekap untuk melaksanakannya. Artikel ini akan memperkenalkan penggunaan asas dan fungsi teras MyBatis melalui contoh program yang lengkap.
Pertama sekali, kami perlu memperkenalkan kebergantungan berkaitan MyBatis ke dalam projek. Tambahkan kebergantungan berikut dalam fail pom.xml:
<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency> <!--其他依赖 --> </dependencies>
Pada masa yang sama, kami perlu mengkonfigurasi maklumat berkaitan MyBatis, termasuk maklumat sambungan pangkalan data, fail pemetaan, dsb. Cipta fail konfigurasi bernama mybatis-config.xml dalam direktori src/main/resources dan tambah kandungan berikut:
<configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis_example"/> <property name="username" value="root"/> <property name="password" value="password"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/example/mapper/UserMapper.xml"/> </mappers> </configuration>
Ambil perhatian bahawa maklumat sambungan pangkalan data dalam konfigurasi di atas perlu diubah suai mengikut situasi sebenar.
Untuk menunjukkan kefungsian MyBatis, kami mencipta kelas bernama Pengguna dan mentakrifkan hubungan pemetaan yang sepadan dalam fail UserMapper.xml. Cipta dua fail berikut dalam direktori src/main/java/com/example/model:
User.java:
package com.example.model; public class User { private int id; private String name; private int age; // 省略构造函数、getter和setter方法 }
UserMapper.xml:
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.mapper.UserMapper"> <insert id="insertUser" parameterType="com.example.model.User"> INSERT INTO user (name, age) VALUES (#{name}, #{age}) </insert> <select id="getUserById" resultType="com.example.model.User"> SELECT * FROM user WHERE id = #{id} </select> </mapper>
/mainjava dalam src / Buat antara muka bernama UserMapper dalam direktori com/example/mapper dan tentukan kaedah yang sepadan seperti berikut:
package com.example.mapper; import com.example.model.User; public interface UserMapper { void insertUser(User user); User getUserById(int id); }
Tulis kod operasi pangkalan data dalam kaedah utama, termasuk mendapatkan SqlSessionFactory, mencipta SqlSession, melaksanakan operasi pangkalan data, dsb. Kod khusus adalah seperti berikut:
package com.example; import com.example.mapper.UserMapper; import com.example.model.User; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.IOException; import java.io.Reader; public class Main { public static void main(String[] args) { // 获取MyBatis的配置文件流 Reader reader; try { reader = Resources.getResourceAsReader("mybatis-config.xml"); } catch (IOException e) { e.printStackTrace(); return; } // 创建SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); // 创建SqlSession try (SqlSession session = sqlSessionFactory.openSession()) { UserMapper userMapper = session.getMapper(UserMapper.class); // 插入用户数据 User user = new User(); user.setName("Tom"); user.setAge(20); userMapper.insertUser(user); session.commit(); // 根据ID查询用户数据 user = userMapper.getUserById(user.getId()); System.out.println(user); } // 关闭输入流 try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } }
Masukkan direktori projek dalam tetingkap baris arahan dan laksanakan arahan berikut untuk menjalankan program:
mvn clean compile exec:java
Selepas program berjalan, sekeping data pengguna akan dimasukkan dan pengguna akan disoal berdasarkan Maklumat ID. Jika semuanya berjalan lancar, konsol akan mengeluarkan maklumat pengguna.
Ringkasan:
Melalui contoh program lengkap di atas, kami memahami penggunaan asas dan fungsi teras MyBatis. Dalam pembangunan sebenar, kami boleh menulis antara muka Mapper dan fail pemetaan yang sepadan mengikut keperluan khusus, dan menggunakan SqlSessionFactory untuk mencipta SqlSession untuk operasi pangkalan data. Saya percaya bahawa melalui pembelajaran dan amalan, kita boleh menggunakan MyBatis dengan lebih baik untuk membina lapisan ketekunan Java yang cekap.
Atas ialah kandungan terperinci Bermula dengan MyBatis: Menulis Contoh Program Lengkap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!