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