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项目。

猜你喜欢

转载自www.cnblogs.com/paradise1352/p/12504810.html
今日推荐