SpringBoot集成MyBatis Plus,使用其代碼生成器快速構建CURD項目


1.使用環境

IDE:Idea 2018.3

JDK:1.8

MySQL:5.1

接口調試:Postman

2.構建SpringBoot項目

  • 在Idea中新建項目,選擇Spring Initializr;

  • 下一步填寫對應信息后,點擊Next,選擇要導入的模塊;勾選Developer Tools —>Lombok(省略model代碼中的getter和setter等,簡化代碼,但是需要在Idea中安裝Lombok插件使其不爆紅)、Web —>Spring Web、SQL —>MySQL Driver;點擊Next;

  • 填寫項目名稱等信息,點擊Finish即可構建基本的連接MySQL的SpringBoot項目

3.修改配置文件application.properties

配置以下代碼:

#MySQL
spring.datasource.url = jdbc:mysql://localhost:3306/prs?useUnicode=true&characterEncoding=utf8

spring.datasource.username = root

spring.datasource.password = 123456

spring.datasource.driverclassname = com.mysql.jdbc.Driver

#MyBatis Plus
mybatis-plus.type-aliases-package = com.prs.entity

mybatis-plus.mapper-locations = classpath:/mapper/*Mapper.xml

#下划線轉駝峰
mybatis-plus.configuration.map-underscore-to-camel-case = true

注意:根據使用的MySQL版本不同,對應的驅動和URL配置不同:

高版本時需要修改為:

#MySQL
spring.datasource.url = jdbc:mysql://localhost:3306/prs?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC

spring.datasource.driverclassname = com.mysql.cj.jdbc.Driver

4.修改Maven依賴配置文件pom.xml

添加相關依賴並import:

<!--springBoot 相關依賴-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!--mysql驅動 相關依賴-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.37</version>
    <scope>runtime</scope>
</dependency>

<!--mybatis-plus 相關依賴-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.3.1</version>
</dependency>

<!--mybatis-plus代碼生成器 相關依賴-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.3.1</version>
</dependency>

<!--代碼生成器模板引擎 相關依賴-->
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.2</version>
</dependency>

<!--pojo實用小插件 省略實體類getter、setter-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <!--依賴不傳遞-->
    <optional>true</optional>
</dependency>

5.添加CodeGenerator.java;自定義相關配置

代碼獲取參考MyBatis Plus官方文檔

注意:需要導入的包:

import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

6.運行代碼生成器

  • 輸入需要的包名和表名,生成對應的entity、mapper、service、controller代碼和resource文件夾下的*Mapper.xml

  • service層可以添加需要的接口,其implement實現代碼調用Mapper的自帶接口,在controller中即可添加需要的接口代碼調用service接口,實現邏輯。

    import com.prs.user.entity.User;
    import com.prs.user.service.IUserService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.bind.annotation.RestController;

    import java.util.HashMap;
    import java.util.Map;
    import java.util.UUID;

    /**

    • 前端控制器

    • @author Zhang

    • @since 2020-03-11
      */
      @RestController
      @RequestMapping(path = "/prs/user")
      public class UserController {

      @Autowired
      private IUserService iUserService;

      // 用戶注冊
      // 前端傳來userName和password兩參數
      // 注冊成功返回1,失敗返回-1(提示用戶名被占用)
      @PostMapping(value = "/register")
      @ResponseBody
      public int register(String userName, String password) {
      //判斷用戶名是否重復
      Map<String,Object> map = new HashMap<>();
      map.put("user_name",userName);
      if (!iUserService.queryUser(map).isEmpty()) return -1;

       //隨機生成32位碼,用於主鍵
       User user = new User();
       user.setUserId(UUID.randomUUID().toString().replace("-", ""));
       user.setUserName(userName);
       user.setPassword(password);
      
       return iUserService.addUser(user);
      

      }

      // 用戶登錄
      // 前端傳來userName和password兩參數
      // 登錄成功返回1,失敗返回-1(提示輸入有效賬戶和密碼)
      @PostMapping(value = "/login")
      @ResponseBody
      public int login(String userName, String password) {
      Map<String,Object> map = new HashMap<>();
      map.put("user_name",userName);
      map.put("password",password);

       if (!iUserService.queryUser(map).isEmpty()) return 1;
       return -1;
      

      }

    }

至此,完成了SpringBoot集成MyBatis Plus,使用其代碼生成器快速構建CURD項目。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM