(06)Mybatis+Spring+Maven+IntelliJ使用

一、創(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>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容