SpringBoot2.x搭建SSM框架並整合Mybatis-Generator

題記

最近忙於實習,轉眼2018年只剩下 一天,2019年即將來臨。

明年六月的畢設也到了該準備的階段,經過一些實踐和參考網上的博文,畢設將採用SSM作爲基礎框架。

本文兩個基礎知識點

  1. 基於SpringBoot 2.x搭建SSM框架
  2. 整合Mybatis-Generator代碼生成器

在IDEA2018下SpringBoot 2.x搭建SSM框架並整合mybaits代碼生成器

  1. new project -->spring initializr
  1. Maven Project
  1. 勾選web,mybaits,mysql,後面可在pom.xml文件中修改添加所需依賴

  1. 填寫項目基礎信息,這裏我新建名爲ssmApp項目
  1. 初始項目結構
  1. pom.xml中的mybatis依賴
     <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>
  1. 建立如下包
  1. 在pom.xml中引入Mybatis-Generator依賴
  <!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.6</version>
        </dependency>
  1. 編寫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>
    <context id="testTables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 是否去除自動生成的註釋 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--數據庫連接的信息:驅動類、連接地址、用戶名、密碼 -->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false"
                        userId="root"
                        password="root">
        </jdbcConnection>
        <!-- 默認false,把JDBC DECIMAL 和 NUMERIC 類型解析爲 Integer,爲 true時把JDBC DECIMAL 和
            NUMERIC 類型解析爲java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- targetProject:生成實體類的位置 -->
        <javaModelGenerator targetPackage="com.gaolei.domain"
                            targetProject="src/main/java">
            <!-- enableSubPackages:是否讓schema作爲包的後綴 -->
            <property name="enableSubPackages" value="false"/>
            <!-- 從數據庫返回的值被清理前後的空格 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- targetProject:mapper.xml映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="mapper"
                         targetProject="src/main/resources">
            <!-- enableSubPackages:是否讓schema作爲包的後綴 -->
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>
        <!-- targetPackage:mapper接口生成的位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.gaolei.dao"
                             targetProject="src/main/java"
        >
        <!-- enableSubPackages:是否讓schema作爲包的後綴 -->
        <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>
        <!-- 指定數據庫表 -->
        <table  tableName="roles"   domainObjectName="Roles"    enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
        <!-- 有些表的字段需要指定java類型
         <table schema="" tableName="">
            <columnOverride column="" javaType="" />
        </table> -->
    </context>
</generatorConfiguration>

  1. 編寫GeneratorSqlmap.java
package com.gaolei.generator;

import org.apache.ibatis.io.Resources;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

public class GeneratorSqlmap {

    public void generator() throws Exception {
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        /*指定 逆向工程配置文件*/

        String file = "generatorConfig.xml";
        InputStream in = Resources.getResourceAsStream(file);
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(in);
        DefaultShellCallback callback = new DefaultShellCallback(overwrite);
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
                callback, warnings);
        myBatisGenerator.generate(null);
        in.close();
    }
    public static void main(String[] args) throws Exception {
        try {
            GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
            generatorSqlmap.generator();
            System.out.println("生成成功");
        } catch (Exception e) {
            e.printStackTrace();
        }


    }
}
  1. 編寫application.properties配置文件
## 數據源配置
spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&useUnicode=true
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

## Mybatis 配置
mybatis.typeAliasesPackage=com.gaolei.domain
mybatis.mapperLocations=classpath:mapper/*.xml
  1. 在啓動類中添加掃描
package com.gaolei;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
//mapper 接口類掃描包配置
@MapperScan ("com.gaolei.dao")
public class SsmdemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(SsmdemoApplication.class, args);
    }
}
  1. 生成代碼


  2. 編寫測試類RolesRestController.java
  3. 訪問地址http://localhost:8080/api/getRoles?id=1

使用Postman抓取數據信息:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章