一、創(chuàng)建一個新的Spring項目
1、打開IntelliJ -> 文件 -> New -> 項目 -> 選擇 Spring Initializr

image.png

image.png

image.png

image.png
選擇完了之后,就耐心等待加載出來。
默認(rèn)生成的目錄格式是這樣的:

image.png
2、在pom.xml中加入 安裝mybatis-generator插件
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>

image.png
3、安裝Lombok
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
避免后面用到builder會變紅的問題。
二、配置resources文件
1、路徑:src—》main—》java—》resources
添加 generatorConfig.xml文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!--數(shù)據(jù)庫驅(qū)動 -->
<classPathEntry location="E:\repository\mysql\mysql-connector-java\5.1.46\mysql-connector-java-5.1.46.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<property name="autoDelimitKeywords" value="true"/>
<!-- beginningDelimiter和endingDelimiter:指明數(shù)據(jù)庫的用于標(biāo)記數(shù)據(jù)庫對象名的符號,比如ORACLE就是雙引號,MYSQL默認(rèn)是`反引號; -->
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!--數(shù)據(jù)庫鏈接地址賬號密碼 -->
<!-- 本地 環(huán)境 數(shù)據(jù)庫鏈接地址賬號密碼 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306"
userId="edrain" password="12345abcde">
<!-- 針對mysql數(shù)據(jù)庫 -->
<property name="useInformationSchema" value="true"/>
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--生成Model類存放位置 -->
<javaModelGenerator targetPackage="com.edrain.mybatis.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--生成映射文件存放位置 -->
<sqlMapGenerator targetPackage="mybatis" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!--生成Dao類存放位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.edrain.mybatis.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!--生成對應(yīng)表及類名 -->
<table tableName="sc_white_list" domainObjectName="WhiteList" enableCountByExample="true"
enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true"
selectByExampleQueryId="true"/>
</context>
</generatorConfiguration>
2、執(zhí)行 mybatis-generator 后 -》 自動生成
src-》main-》java-》com.edrain.mybatis-》entity:WhiteList 、WhiteListExample
src-》main-》java-》com.edrain.mybatis-》mapper:WhiteListMapper
src-》main-》resources -》WhiteListMapper.xml

image.png
三、運行主內(nèi)容
1、編寫主文件
路徑:src--》test--》java--》com.edrain.mybatis --》Auth.java
package com.edrain.mybatis;
import com.edrain.mybatis.entity.WhiteList;
import com.edrain.mybatis.mapper.WhiteListMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
import java.util.UUID;
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class Auth extends TestBase {
// @Autowired //Spring注解
@Resource //它的包是javax.annotation.Resource
private WhiteListMapper whiteListMapper;
/**生成隨機身份證號碼
*/
@Test
public void idCardNumber() {
JavaTools cre = new JavaTools();
String randomID = cre.getRandomID();
System.out.println("生成的身份證號碼是:" + randomID);
String phone = phoneMaker(); //生成電話號碼
System.out.println("生成的電話號碼是:" + phone);
}
/**在數(shù)據(jù)庫白名單沒有插入
*手機號碼,身份證
*/
@Test
public void insert19SqlNoPhoneIdcardAuth() throws Exception {
String idCardNumber = idCardNumber01(); //生成身份證號碼
String phone = phoneMaker(); //生成電話號碼
int threeNumber = threeNumber(); //生成三位數(shù)
WhiteList x = WhiteList.builder()
.code(UUID.randomUUID().toString().replaceAll("-", ""))
.thirdUserNo(String.valueOf(threeNumber))
.productNo("25G")
.merchantId(4L)
.merchantName("人和易行哈")
.isDeleted((byte) 0)
.build();
whiteListMapper.insertSelective(x);
System.out.println("添加的手機號碼是:" + phone);
System.out.println("成功添加");
}
}
2、添加注釋
src-》main-》java-》com.edrain.mybatis-》entity:WhiteList.java 中
@Builder
@NoArgsConstructor
@ToString
@AllArgsConstructor

image.png
src-》main-》java-》com.edrain.mybatis-》mapper:WhiteListMapper.java 中
@Mapper

image.png
3、配置application.properties
路徑:src—》main —》resources —》application.properties
spring.datasource.url=jdbc:mysql://127.0.0.1:3306?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useSSL=false
spring.datasource.username=edrain
spring.datasource.password=12345abcde
mybatis.mapper-locations=classpath*:/mybatis/**Mapper.xml
logging.level.cn.xyd.supply.test.mapper=debug
4、pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.xyd.supply</groupId>
<artifactId>test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>test</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>