滚雪球学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>
    
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starterartifactId>
    dependency>

    
    <dependency>
        <groupId>com.baomidougroupId>
        <artifactId>mybatis-plus-boot-starterartifactId>
        <version>3.4.3.4version>
    dependency>

    
    <dependency>
        <groupId>mysqlgroupId>
        <artifactId>mysql-connector-javaartifactId>
        <scope>runtimescope>
    dependency>

    
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-configuration-processorartifactId>
    dependency>

    
    <dependency>
        <groupId>org.projectlombokgroupId>
        <artifactId>lombokartifactId>
        <version>1.18.20version>
        <scope>providedscope>
    dependency>

    
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-testartifactId>
        <scope>testscope>
    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("[email protected]");
      
              // 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 的基础配置。这些配置包括分页插件的使用、乐观锁的配置以及性能分析插件的集成。这些功能将帮助我们更好地管理数据库操作,提高项目的开发效率和运行性能。敬请期待!

你可能感兴趣的:(项目初始化,mybatis-plus,java,零基础入门)