SpringBoot整合MyBatis快速入门

魔法星河 2024-05-24 ⋅ 23 阅读

介绍

Spring Boot是一个快速、方便的框架,可以用来构建独立的、产品级的Spring应用程序。MyBatis是一个轻量级的持久层框架,可以与各种关系型数据库进行交互。本文将介绍如何在Spring Boot应用程序中,快速整合MyBatis。

步骤

1. 创建Spring Boot项目

首先,我们需要创建一个Spring Boot项目。可以使用Spring Initializer来快速生成项目的骨架代码。在终端或控制台中运行以下命令:

$ mkdir mybatis-demo
$ cd mybatis-demo
$ curl https://start.spring.io/starter.zip -o demo.zip
$ unzip demo.zip

2. 添加MyBatis依赖

打开pom.xml文件,添加MyBatis和MySQL驱动的依赖:

<dependencies>
    <!-- Spring Boot Starter for MyBatis -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.1.4</version>
    </dependency>
    <!-- MySQL Connector/J -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.23</version>
    </dependency>
</dependencies>

3. 配置数据库连接

application.properties文件中添加数据库连接信息:

# 数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/my_database
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

4. 创建数据库表和实体类

创建一个名为user的表,并在项目中创建一个对应的实体类User

CREATE TABLE user (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50),
    age INT
);
public class User {
    private Long id;
    private String name;
    private Integer age;
    // 省略getter和setter方法
}

5. 创建Mapper和Mapper.xml

创建一个用于操作User表的Mapper接口UserMapper

@Mapper
public interface UserMapper {
    void insert(User user);
    void update(User user);
    void delete(Long id);
    User getById(Long id);
    List<User> getAll();
}

创建一个对应的Mapper.xml文件UserMapper.xml,并在其中定义SQL语句:

<?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.demo.mapper.UserMapper">
    <insert id="insert" parameterType="com.example.demo.model.User">
        INSERT INTO user (name, age) VALUES (#{name}, #{age})
    </insert>
    <update id="update" parameterType="com.example.demo.model.User">
        UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}
    </update>
    <delete id="delete" parameterType="java.lang.Long">
        DELETE FROM user WHERE id=#{id}
    </delete>
    <select id="getById" resultType="com.example.demo.model.User" parameterType="java.lang.Long">
        SELECT * FROM user WHERE id=#{id}
    </select>
    <select id="getAll" resultType="com.example.demo.model.User">
        SELECT * FROM user
    </select>
</mapper>

6. 编写Service类

创建一个用于操作User的Service类,调用Mapper中的方法:

@Service
public class UserServiceImpl implements UserService {

    private final UserMapper userMapper;

    public UserServiceImpl(UserMapper userMapper) {
        this.userMapper = userMapper;
    }

    @Override
    public void insert(User user) {
        userMapper.insert(user);
    }

    @Override
    public void update(User user) {
        userMapper.update(user);
    }

    @Override
    public void delete(Long id) {
        userMapper.delete(id);
    }

    @Override
    public User getById(Long id) {
        return userMapper.getById(id);
    }

    @Override
    public List<User> getAll() {
        return userMapper.getAll();
    }
}

7. 编写Controller类

创建一个用于处理HTTP请求的Controller类,注入UserService并调用对应的方法:

@RestController
@RequestMapping("/user")
public class UserController {

    private final UserService userService;

    public UserController(UserService userService) {
        this.userService = userService;
    }

    @PostMapping("/create")
    public void createUser(@RequestBody User user) {
        userService.insert(user);
    }

    // 省略其他方法
}

8. 启动应用程序

使用以下命令启动应用程序:

$ ./mvnw spring-boot:run

9. 测试API

使用工具(如Postman)发送HTTP请求进行测试。例如,使用POST方法请求http://localhost:8080/user/create,并在请求体中传递JSON数据以创建用户。

结论

通过以上步骤,我们成功地将MyBatis整合到了Spring Boot应用程序中。使用MyBatis可以更方便地操作数据库,提供了灵活的SQL映射配置,并且与Spring Boot的集成十分简单快捷。希望本文对于想要快速入门Spring Boot整合MyBatis的开发者有所帮助。

欢迎访问我的博客了解更多关于Spring Boot和MyBatis的相关内容!

参考资料


全部评论: 0

    我有话说: