滚雪球学MyBatis-Plus(03):项目初始化

前言

在上期内容中,我们完成了 MyBatis Plus 项目的环境准备,包括安装 JDK 和 Maven、创建 MySQL 数据库以及使用 Spring Initializr 生成项目骨架。这为后续开发打下了基础,使我们能够专注于实现具体功能。

本期内容将继续深入,重点介绍如何初始化项目,包括创建 Maven 项目、添加 MyBatis Plus 依赖以及配置数据库连接。这些步骤将帮助你进一步理解 MyBatis Plus 的基本使用,并为开发高效的持久层打下基础。

一、创建 Maven 项目
  1. 使用 Spring Initializr 创建项目

    • 打开 Spring Initializr 网站,配置项目:
      • Project: Maven Project
      • Language: Java
      • Spring Boot: 2.5.4(或最新版本)
      • Project Metadata:
        • Group: com.example
        • Artifact: mybatis-plus-demo
        • Name: mybatis-plus-demo
        • Package name: com.example.mybatisplusdemo
      • Dependencies: 添加 Spring WebMyBatis PlusMySQL Driver
  2. 下载并解压项目

    • 点击 “Generate” 按钮,下载生成的项目压缩包。
    • 解压缩后,使用 IDE(如 IntelliJ IDEA 或 Eclipse)打开项目。
二、添加 MyBatis Plus 依赖

pom.xml 文件中添加 MyBatis Plus 相关的依赖。以下是示例配置:

<dependencies>
    <!-- Spring Boot Starter -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>

    <!-- MyBatis Plus Starter -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.3.4</version>
    </dependency>

    <!-- MySQL Connector -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>

    <!-- Spring Boot Configuration Processor -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
    </dependency>

    <!-- Lombok -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.20</version>
        <scope>provided</scope>
    </dependency>

    <!-- Spring Boot Test -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
三、配置数据库连接
  1. 创建 application.yml 文件

    • src/main/resources 目录下创建 application.yml 文件,并添加以下配置:
      spring:
        datasource:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://localhost:3306/mybatis_plus_demo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
          username: root
          password: your_password
      
      mybatis-plus:
        mapper-locations: classpath:/mapper/*.xml
      
  2. 创建 application-dev.yml 文件(可选)

    • 如果需要不同的环境配置,可以创建 application-dev.yml 文件,并添加以下配置:
      spring:
        profiles:
          active: dev
      
      spring:
        datasource:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://localhost:3306/mybatis_plus_demo_dev?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
          username: root
          password: your_password
      
四、创建实体类和 Mapper 接口
  1. 创建实体类目录

    • src/main/java/com/example/mybatisplusdemo/entity 目录下创建实体类 User
      package com.example.mybatisplusdemo.entity;
      
      import com.baomidou.mybatisplus.annotation.TableId;
      import com.baomidou.mybatisplus.annotation.TableName;
      import lombok.Data;
      
      @Data
      @TableName("user")
      public class User {
          @TableId
          private Long id;
          private String name;
          private Integer age;
          private String email;
      }
      
  2. 创建 Mapper 接口目录

    • src/main/java/com/example/mybatisplusdemo/mapper 目录下创建 Mapper 接口 UserMapper
      package com.example.mybatisplusdemo.mapper;
      
      import com.baomidou.mybatisplus.core.mapper.BaseMapper;
      import com.example.mybatisplusdemo.entity.User;
      import org.apache.ibatis.annotations.Mapper;
      
      @Mapper
      public interface UserMapper extends BaseMapper<User> {
      }
      
五、配置 MyBatis Plus 的 Mapper 扫描

为了让 Spring Boot 自动扫描和识别 Mapper 接口,我们需要在启动类中配置 Mapper 扫描路径。

  1. 修改启动类
    • 打开 MybatisPlusDemoApplication 类,添加 @MapperScan 注解:
      package com.example.mybatisplusdemo;
      
      import org.mybatis.spring.annotation.MapperScan;
      import org.springframework.boot.SpringApplication;
      import org.springframework.boot.autoconfigure.SpringBootApplication;
      
      @SpringBootApplication
      @MapperScan("com.example.mybatisplusdemo.mapper")
      public class MybatisPlusDemoApplication {
      
          public static void main(String[] args) {
              SpringApplication.run(MybatisPlusDemoApplication.class, args);
          }
      }
      
六、测试配置
  1. 测试数据库连接

    • 确保数据库连接配置正确,可以通过简单的单元测试来验证数据库连接是否成功。创建 src/test/java/com/example/mybatisplusdemo 目录,并在该目录下创建 DatabaseConnectionTest 类:
      package com.example.mybatisplusdemo;
      
      import org.junit.jupiter.api.Test;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.boot.test.context.SpringBootTest;
      import org.springframework.jdbc.core.JdbcTemplate;
      
      @SpringBootTest
      public class DatabaseConnectionTest {
      
          @Autowired
          private JdbcTemplate jdbcTemplate;
      
          @Test
          public void testConnection() {
              Integer result = jdbcTemplate.queryForObject("SELECT 1", Integer.class);
              assert result != null && result == 1;
          }
      }
      
  2. 测试 CRUD 操作

    • 创建一个简单的单元测试类,验证 CRUD 操作是否正常工作。创建 UserServiceTest 类:
      package com.example.mybatisplusdemo;
      
      import com.example.mybatisplusdemo.entity.User;
      import com.example.mybatisplusdemo.service.UserService;
      import org.junit.jupiter.api.Test;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.boot.test.context.SpringBootTest;
      
      import java.util.List;
      
      @SpringBootTest
      public class UserServiceTest {
      
          @Autowired
          private UserService userService;
      
          @Test
          public void testCRUD() {
              User user = new User();
              user.setName("Test User");
              user.setAge(30);
              user.setEmail("test@example.com");
      
              // Test save
              userService.save(user);
      
              // Test list
              List<User> users = userService.list();
              assert users.size() > 0;
      
              // Test update
              user.setAge(31);
              userService.updateById(user);
      
              // Test delete
              userService.removeById(user.getId());
          }
      }
      
七、总结

通过本篇文章,你已经成功创建并配置了一个集成 MyBatis Plus 的 Spring Boot 项目。你已经学会了如何添加依赖、配置数据库连接、创建实体类、Mapper 接口,并测试了基本的 CRUD 操作。在接下来的文章中,我们将进一步探讨 MyBatis Plus 的基础配置,包括分页插件、乐观锁插件和性能分析插件的使用。

下期预告

在下一期内容中,我们将详细介绍 MyBatis Plus 的基础配置。这些配置包括分页插件的使用、乐观锁的配置以及性能分析插件的集成。这些功能将帮助我们更好地管理数据库操作,提高项目的开发效率和运行性能。敬请期待!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bug菌¹

你的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值