Home  >  Article  >  Java  >  Detailed explanation of best practices for MyBatis configuration in Spring Boot

Detailed explanation of best practices for MyBatis configuration in Spring Boot

WBOY
WBOYOriginal
2024-02-26 09:06:06999browse

详解Spring Boot中配置MyBatis的最佳实践

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn