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