Detailed explanation of MyBatis configuration based on Spring Boot
Spring Boot is a framework for rapid application development, and MyBatis is a popular persistence framework. Using MyBatis in Spring Boot can simplify the process of database access and data persistence. This article will explain in detail how to configure and use MyBatis in Spring Boot and provide specific code examples.
1. MyBatis configuration
Before using MyBatis, you first need to add relevant dependencies in the pom.xml file.
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency>
In Spring Boot, you can use the embedded H2 database as a demonstration. Add the following configuration in the application.properties file:
spring.datasource.url=jdbc:h2:mem:testdb spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa spring.datasource.password=
Add the following configuration in the application.properties file:
mybatis.mapper-locations=classpath:mapper/*.xml mybatis.type-aliases-package=com.example.domain
Among them, mapper-locations
specifies the location of the MyBatis mapping file, type-aliases-package
specifies the package name of the entity class.
Create a User class as a sample entity class:
package com.example.domain; public class User { private Long id; private String name; // 省略getter和setter方法 }
Create a UserMapper interface and define the database operations that need to be performed in the interface:
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); }
Create the mapper folder in the resources directory, and Create the UserMapper.xml file in this folder:
<?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>
2. Use MyBatis for database operations
Write a UserService class , used to perform specific database operations:
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); } }
Write a UserController class for receiving external requests and calling the corresponding Service method:
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); } }
Write a startup class and add @SpringBootApplication
Annotation:
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); } }
You can use tools such as Postman to send HTTP requests and test the call of the interface. For example, send a GET request: localhost:8080/users/1
to query the user information with ID 1.
Conclusion
This article explains in detail the process of configuring and using MyBatis in a Spring Boot-based project, and provides relevant code examples. Through the above steps, you can easily integrate and use MyBatis for database operations in your Spring Boot project. Hope this article helps you!
The above is the detailed content of Configuration Guide for MyBatis under Spring Boot. For more information, please follow other related articles on the PHP Chinese website!