Penjelasan terperinci tentang konfigurasi MyBatis berdasarkan Spring Boot
Spring Boot ialah rangka kerja untuk pembangunan aplikasi pantas dan MyBatis ialah rangka kerja kegigihan yang popular. Menggunakan MyBatis dalam Spring Boot boleh memudahkan proses capaian pangkalan data dan ketekunan data. Artikel ini akan menerangkan secara terperinci cara mengkonfigurasi dan menggunakan MyBatis dalam Spring Boot dan memberikan contoh kod khusus.
1. Konfigurasi MyBatis
Sebelum menggunakan MyBatis, anda perlu menambah kebergantungan yang berkaitan dalam fail pom.xml.
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency>
Dalam Spring Boot, anda boleh menggunakan pangkalan data H2 terbenam sebagai demonstrasi. Tambah konfigurasi berikut dalam fail application.properties:
spring.datasource.url=jdbc:h2:mem:testdb spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa spring.datasource.password=
Tambah konfigurasi berikut dalam fail application.properties:
mybatis.mapper-locations=classpath:mapper/*.xml mybatis.type-aliases-package=com.example.domain
Antaranya, type-aliases-package
menentukan nama pakej kelas entiti. mapper-locations
指定了MyBatis映射文件的位置,type-aliases-package
指定了实体类的包名。
创建一个User类作为示例实体类:
package com.example.domain; public class User { private Long id; private String name; // 省略getter和setter方法 }
创建一个UserMapper接口,在接口中定义需要执行的数据库操作:
package com.example.mapper; import com.example.domain.User; import org.apache.ibatis.annotations.Mapper; @Mapper public interface UserMapper { User getUserById(Long id); void saveUser(User user); void updateUser(User user); void deleteUser(Long id); }
在resources目录下创建mapper文件夹,并在该文件夹下创建UserMapper.xml文件:
<?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="BaseResultMap" type="com.example.domain.User"> <id column="id" property="id" jdbcType="BIGINT"/> <result column="name" property="name" jdbcType="VARCHAR"/> </resultMap> <select id="getUserById" resultMap="BaseResultMap"> SELECT * FROM user WHERE id = #{id} </select> <insert id="saveUser"> INSERT INTO user(name) VALUES(#{name}) </insert> <update id="updateUser"> UPDATE user SET name = #{name} WHERE id = #{id} </update> <delete id="deleteUser"> DELETE FROM user WHERE id = #{id} </delete> </mapper>
二、使用MyBatis进行数据库操作
编写一个UserService类,用于执行具体的数据库操作:
package com.example.service; import com.example.domain.User; import com.example.mapper.UserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class UserService { @Autowired private UserMapper userMapper; public User getUserById(Long id) { return userMapper.getUserById(id); } public void saveUser(User user) { userMapper.saveUser(user); } public void updateUser(User user) { userMapper.updateUser(user); } public void deleteUser(Long id) { userMapper.deleteUser(id); } }
编写一个UserController类,用于接收外部请求并调用对应的Service方法:
package com.example.controller; import com.example.domain.User; import com.example.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/users") public class UserController { @Autowired private UserService userService; @GetMapping("/{id}") public User getUserById(@PathVariable Long id) { return userService.getUserById(id); } @PostMapping("/") public void saveUser(@RequestBody User user) { userService.saveUser(user); } @PutMapping("/{id}") public void updateUser(@PathVariable Long id, @RequestBody User user) { user.setId(id); userService.updateUser(user); } @DeleteMapping("/{id}") public void deleteUser(@PathVariable Long id) { userService.deleteUser(id); } }
编写一个启动类,并添加@SpringBootApplication
注解:
package com.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
可以使用Postman等工具发送HTTP请求,测试接口的调用。例如,发送GET请求:localhost:8080/users/1
Buat kelas Pengguna sebagai contoh kelas entiti:
rrreee@SpringBootApplication
anotasi: 🎜rrreeelocalhost:8080/users/1
untuk menanyakan maklumat pengguna dengan ID 1. 🎜🎜Kesimpulan🎜🎜Artikel ini menerangkan secara terperinci proses mengkonfigurasi dan menggunakan MyBatis dalam projek berasaskan Spring Boot, dan menyediakan contoh kod yang berkaitan. Melalui langkah di atas, anda boleh menyepadukan dan menggunakan MyBatis dengan mudah untuk operasi pangkalan data dalam projek Spring Boot anda. Harap artikel ini membantu anda! 🎜Atas ialah kandungan terperinci Panduan Konfigurasi untuk MyBatis di bawah Spring Boot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!