Penjelasan terperinci tentang amalan terbaik untuk mengkonfigurasi MyBatis dalam Spring Boot, contoh kod khusus diperlukan
Spring Boot ialah rangka kerja pembangunan untuk membina aplikasi dengan pantas berdasarkan rangka kerja Spring. MyBatis ialah rangka kerja lapisan kegigihan yang sangat baik yang boleh disepadukan dengan lancar dengan Spring Boot. Artikel ini akan memperincikan amalan terbaik untuk mengkonfigurasi MyBatis dalam Spring Boot dan memberikan contoh kod khusus.
1. Tambah kebergantungan
Pertama, tambahkan MyBatis dan kebergantungan pemacu pangkalan data dalam fail pom.xml. Kod sampel adalah seperti berikut:
<dependencies> <!-- MyBatis依赖 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> <!-- 数据库驱动依赖 --> <dependency> <groupId>com.mysql.cj</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.18</version> </dependency> </dependencies>
2. Konfigurasikan sumber data
Konfigurasi sumber data ialah langkah pertama dalam konfigurasi MyBatis. Dalam Spring Boot, kami boleh mengkonfigurasi sumber data dalam fail application.properties
atau application.yml
. Kod sampel adalah seperti berikut: application.properties
或application.yml
文件中配置数据源。示例代码如下:
spring: datasource: url: jdbc:mysql://localhost:3306/mydatabase username: root password: password driver-class-name: com.mysql.cj.jdbc.Driver
三、创建Mapper接口
Mapper接口是MyBatis映射文件与Java接口之间的桥梁。在Spring Boot中,我们可以使用@Mapper
注解来标记Mapper接口,并使用@Repository
注解来标记其作为Repository存储库的组件。示例代码如下:
@Mapper @Repository public interface UserMapper { // 添加用户 void addUser(User user); // 查询用户 List<User> getUsers(); // 更新用户 void updateUser(User user); // 删除用户 void deleteUser(int id); }
四、创建Mapper XML 文件
Mapper XML是MyBatis框架用来实现SQL语句的映射文件。在Spring Boot中,我们可以在resources
目录下创建mapper
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.mapper.UserMapper"> <resultMap id="UserResultMap" type="com.example.entity.User"> <id property="id" column="id"/> <result property="name" column="name"/> <result property="age" column="age"/> </resultMap> <insert id="addUser" parameterType="com.example.entity.User"> INSERT INTO user(name, age) VALUES(#{name}, #{age}) </insert> <select id="getUsers" resultMap="UserResultMap"> SELECT id, name, age FROM user </select> <update id="updateUser" parameterType="com.example.entity.User"> UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id} </update> <delete id="deleteUser" parameterType="int"> DELETE FROM user WHERE id = #{id} </delete> </mapper>
@Mapper
untuk menandakan antara muka Mapper dan anotasi @Repository
untuk menandakannya sebagai komponen repositori Repositori. Kod sampel adalah seperti berikut: @Service public class UserService { private final UserMapper userMapper; @Autowired public UserService(UserMapper userMapper) { this.userMapper = userMapper; } public void addUser(User user) { userMapper.addUser(user); } public List<User> getUsers() { return userMapper.getUsers(); } public void updateUser(User user) { userMapper.updateUser(user); } public void deleteUser(int id) { userMapper.deleteUser(id); } }
mapper
dalam direktori resources
dan menyimpan fail XML Mapper dalam folder ini. Kod sampel adalah seperti berikut: @RestController @RequestMapping("/users") public class UserController { private final UserService userService; @Autowired public UserController(UserService userService) { this.userService = userService; } @GetMapping public List<User> getUsers() { return userService.getUsers(); } @PostMapping public void addUser(@RequestBody User user) { userService.addUser(user); } @PutMapping("/{id}") public void updateUser(@PathVariable int id, @RequestBody User user) { user.setId(id); userService.updateUser(user); } @DeleteMapping("/{id}") public void deleteUser(@PathVariable int id) { userService.deleteUser(id); } }
Atas ialah kandungan terperinci Penjelasan terperinci tentang amalan terbaik untuk konfigurasi MyBatis dalam Spring Boot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!