Home >Java >javaTutorial >Detailed explanation of best practices for MyBatis configuration in Spring Boot
Detailed explanation of the best practices for configuring MyBatis in Spring Boot requires specific code examples
Spring Boot is a development framework for quickly building applications based on the Spring framework. MyBatis is an excellent persistence layer framework that can be seamlessly integrated with Spring Boot. This article will detail the best practices for configuring MyBatis in Spring Boot and provide specific code examples.
1. Add dependencies
First, add MyBatis and database driver dependencies in the pom.xml file. The sample code is as follows:
<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. Configuring the data source
Configuring the data source is the first step in MyBatis configuration. In Spring Boot, we can configure the data source in the application.properties
or application.yml
file. The sample code is as follows:
spring: datasource: url: jdbc:mysql://localhost:3306/mydatabase username: root password: password driver-class-name: com.mysql.cj.jdbc.Driver
3. Create Mapper interface
The Mapper interface is the bridge between the MyBatis mapping file and the Java interface. In Spring Boot, we can use the @Mapper
annotation to mark the Mapper interface and the @Repository
annotation to mark it as a component of the Repository repository. The sample code is as follows:
@Mapper @Repository public interface UserMapper { // 添加用户 void addUser(User user); // 查询用户 List<User> getUsers(); // 更新用户 void updateUser(User user); // 删除用户 void deleteUser(int id); }
4. Create Mapper XML file
Mapper XML is a mapping file used by the MyBatis framework to implement SQL statements. In Spring Boot, we can create the mapper
folder under the resources
directory and save the Mapper XML file in this folder. The sample code is as follows:
<?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>
5. Create a Service layer
In Spring Boot, we can create a Service layer to call the Mapper interface to process business logic. The sample code is as follows:
@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); } }
6. Use MyBatis
The sample code is as follows:
@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); } }
The above are the best practices and specific code examples for configuring MyBatis in Spring Boot. . By following the above steps to configure, we can easily integrate MyBatis into Spring Boot and implement addition, deletion, modification and query operations of the database. I hope this article can be helpful to your development!
The above is the detailed content of Detailed explanation of best practices for MyBatis configuration in Spring Boot. For more information, please follow other related articles on the PHP Chinese website!