SpringBoot整合Mybatis

Spring Boot 是一个基于 Spring 框架的快速开发框架,它简化了 Spring 应用程序的配置和部署过程。而 MyBatis 是一个优秀的持久层框架,它可以将 SQL 语句和 Java 方法进行映射,方便数据库操作。下面是 Spring Boot 整合 MyBatis 的简要步骤:

1、添加依赖:在 pom.xml 中添加 Spring Boot 和 MyBatis 的依赖。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>{MyBatis 版本}</version>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>{MySQL 驱动版本}</version>
</dependency>

2、配置数据源:在 application.properties 或 application.yml 中配置数据库连接信息。

spring.datasource.url=jdbc:mysql://localhost:3306/database_name
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

3、配置 MyBatis:在 application.properties 或 application.yml 中配置 MyBatis 相关信息。

mybatis.mapper-locations=classpath*:mapper/*.xml
mybatis.type-aliases-package=com.example.model

4、编写 Mapper 接口:创建接口,用于定义数据库操作方法。

package com.example.mapper;

import com.example.model.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper {
    User getUserById(Long id);
    void insertUser(User user);
    void updateUser(User user);
    void deleteUser(Long id);
}

5、编写 SQL 映射文件:在 resources 目录下创建 mapper 目录,并编写 XML 文件,定义 SQL 语句和方法的映射关系。

<!-- resources/mapper/UserMapper.xml -->
<mapper namespace="com.example.mapper.UserMapper">
    <select id="getUserById" parameterType="java.lang.Long" resultType="com.example.model.User">
        SELECT * FROM users WHERE id = #{id}
    </select>
    
    <insert id="insertUser" parameterType="com.example.model.User">
        INSERT INTO users (username, email) VALUES (#{username}, #{email})
    </insert>
    
    <update id="updateUser" parameterType="com.example.model.User">
        UPDATE users SET username = #{username}, email = #{email} WHERE id = #{id}
    </update>
    
    <delete id="deleteUser" parameterType="java.lang.Long">
        DELETE FROM users WHERE id = #{id}
    </delete>
</mapper>

6、编写 Service 类:创建服务类,调用 Mapper 接口中的方法实现业务逻辑。

package com.example.service;

import com.example.mapper.UserMapper;
import com.example.model.User;
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 insertUser(User user) {
        userMapper.insertUser(user);
    }

    public void updateUser(User user) {
        userMapper.updateUser(user);
    }

    public void deleteUser(Long id) {
        userMapper.deleteUser(id);
    }
}

7、编写 Controller 类:创建控制器类,处理 HTTP 请求。

package com.example.controller;

import com.example.model.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 insertUser(@RequestBody User user) {
        userService.insertUser(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);
    }
}

通过以上步骤,你就可以实现 Spring Boot 与 MyBatis 的整合,实现数据库操作。

上一篇:2024.4.24力扣每日一题——感染二叉树需要的总时间


下一篇:MongoDB聚合运算符:$sampleRate