Spring Boot 整合 MyBatis 入门程序

Spring Boot 整合 MyBatis 入门程序

1. 概述

Spring Boot 是一个用于简化 Spring 应用初始搭建以及开发过程的框架。MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。将 Spring Boot 与 MyBatis 整合,可以大大简化数据库操作的开发工作。

2. 环境准备

在开始之前,确保你已经安装了以下工具:

  • JDK 1.8 或更高版本
  • Maven 3.2 或更高版本
  • 一个 IDE(如 IntelliJ IDEA 或 Eclipse)
  • MySQL 或其他数据库
3. 创建 Spring Boot 项目
  1. 使用 Spring Initializr 创建项目

    访问 Spring Initializr,填写项目信息:

    • Project: Maven Project
    • Language: Java
    • Spring Boot: 选择最新版本
    • Group: 你的组织ID
    • Artifact: 项目名称
    • Name: 项目名称
    • Description: 项目描述
    • Package Name: 包名
    • Packaging: Jar
    • Java: 8 或更高版本

    添加依赖:

    • Spring Web
    • MyBatis Framework
    • MySQL Driver

    点击 “Generate” 下载项目压缩包,解压后导入 IDE。

  2. 配置 Maven 依赖

    打开 pom.xml,确保以下依赖已经添加:

    <dependencies>
        <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>2.2.0</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.23</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    
4. 配置数据库
  1. 创建数据库和表

    在 MySQL 中创建一个数据库和表:

    CREATE DATABASE mybatis_demo;
    USE mybatis_demo;
    
    CREATE TABLE user (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(100),
        email VARCHAR(100)
    );
    
  2. 配置数据源

    src/main/resources 目录下创建 application.properties 文件,添加数据库连接信息:

    spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_demo?useSSL=false&serverTimezone=UTC
    spring.datasource.username=root
    spring.datasource.password=your_password
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    
5. 创建实体类

src/main/java/com/example/demo 目录下创建 entity 包,并在其中创建 User 实体类:

package com.example.demo.entity;

public class User {
    private Integer id;
    private String name;
    private String email;

    // Getters and Setters
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}
6. 创建 Mapper 接口

src/main/java/com/example/demo 目录下创建 mapper 包,并在其中创建 UserMapper 接口:

package com.example.demo.mapper;

import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface UserMapper {

    @Insert("INSERT INTO user(name, email) VALUES(#{name}, #{email})")
    void insertUser(User user);

    @Select("SELECT * FROM user")
    List<User> findAllUsers();
}
7. 配置 MyBatis

application.properties 中添加 MyBatis 配置:

mybatis.type-aliases-package=com.example.demo.entity
mybatis.mapper-locations=classpath:mapper/*.xml
8. 创建 Service 层

src/main/java/com/example/demo 目录下创建 service 包,并在其中创建 UserService 类:

package com.example.demo.service;

import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;

    public void addUser(User user) {
        userMapper.insertUser(user);
    }

    public List<User> getAllUsers() {
        return userMapper.findAllUsers();
    }
}
9. 创建 Controller 层

src/main/java/com/example/demo 目录下创建 controller 包,并在其中创建 UserController 类:

package com.example.demo.controller;

import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

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

    @Autowired
    private UserService userService;

    @PostMapping
    public String addUser(@RequestBody User user) {
        userService.addUser(user);
        return "User added successfully";
    }

    @GetMapping
    public List<User> getAllUsers() {
        return userService.getAllUsers();
    }
}
10. 运行项目

在 IDE 中运行 DemoApplication 类,启动 Spring Boot 应用。

11. 测试接口

使用 Postman 或其他工具测试接口:

  1. 添加用户

    POST 请求:http://localhost:8080/users

    请求体:

    {
        "name": "John Doe",
        "email": "john.doe@example.com"
    }
    
  2. 获取所有用户

    GET 请求:http://localhost:8080/users

12. 总结

通过以上步骤,我们成功创建了一个简单的 Spring Boot 应用,并整合了 MyBatis 进行数据库操作。这个示例涵盖了从项目创建、依赖配置、数据库连接、实体类创建、Mapper 接口定义、Service 层实现到 Controller 层暴露接口的全过程。希望这个教程能帮助你更好地理解和掌握 Spring Boot 与 MyBatis 的整合。

  • 16
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值