快速搭建cloud的三层工厂   

即 mapper service Controller

采用最流行的mybatis+ -- mybatis plus

<?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>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.hc</groupId>
    <artifactId>hc</artifactId>
    <version>1.0</version>
    <name>hc</name>
    <description>Demo project for Spring Boot</description>


    <properties>
        <java.version>1.8</java.version>
        <lombok.version>1.16.20</lombok.version>
        <mybatis-plus.version>2.1.9</mybatis-plus.version>
        <mybatisplus-spring-boot-starter.version>1.0.5</mybatisplus-spring-boot-starter.version>
    </properties>

    <dependencies>

        <!--基本 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>${mybatis-plus.version}</version>
        </dependency>

        <!-- mybatis-plus start -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatisplus-spring-boot-starter</artifactId>
            <version>${mybatisplus-spring-boot-starter.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.tomcat</groupId>
                    <artifactId>tomcat-jdbc</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!--MySQL-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <!--Lom bok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
        </dependency>

        <!--模板-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>

        <!--报表-->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!--切面增强AOP-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

pom

server:
  port: 80
  servlet:
    context-path: /


spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://127.0.0.1:3306/cn?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
    driver-class-name: com.mysql.cj.jdbc.Driver

  freemarker:
    allow-request-override: false
    request-context-attribute: request
    suffix: .ftl
    content-type: text/html
    enabled: true
    cache: false
    template-loader-path: classpath:/html/
    charset: utf-8
    expose-session-attributes: false
    expose-spring-macro-helpers: false
    check-template-location: true
    expose-request-attributes: false

  resources:
    static-locations: classpath:/html/

  application:
    name: cloud



mybatis-plus:
  mapper-locations: classpath:/data/*Mapper.xml
  typeAliasesPackage: com.hc.model
  global-config:
    id-type: 0
    field-strategy: 1
    db-column-underline: true
    refresh-mapper: true
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: true


logging:
  level:
    com.hc: debug

yml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="hc.cloud.mapper.CityMapper">


</mapper>

mapper.xml

package hc.cloud.model;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.*;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * Created by Administrator on 2019/3/29 0029.
 * 用户
 */
@EqualsAndHashCode(callSuper = false)
//@TableName("user")
@Data
public class User extends Model<User> {

    @TableId(type = IdType.AUTO)
    private Integer id;

    private String userName;

    @Override
    protected Serializable pkVal() {

        return id;
    }

}

model

package hc.cloud.mapper;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import hc.cloud.model.City;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * Created by Administrator on 2019/4/12 0012.
 */
@Mapper
public interface CityMapper extends BaseMapper<City> {

    @Select("SELECT * FROM city")
    List<City> getCityFather();
}

mapper 

package hc.cloud.service;

import com.baomidou.mybatisplus.service.IService;
import hc.cloud.model.City;

import java.util.List;

/**
 * Created by Administrator on 2019/4/12 0012.
 */
public interface CityService extends IService<City>{

    List<City> getCityFather();
}

service

package hc.cloud.service.impl;

import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import hc.cloud.mapper.CityMapper;
import hc.cloud.model.City;
import hc.cloud.service.CityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * Created by Administrator on 2019/4/12 0012.
 * 省区
 */
@Service
public class CityImpl extends ServiceImpl<CityMapper, City> implements CityService {
    @Autowired
    private CityMapper cityMapper;

    @Override
    public List<City> getCityFather() {

        return cityMapper.getCityFather();
    }
}
package hc.cloud.controller;

import org.springframework.web.bind.annotation.*;

/**
 * Created by Administrator on 2019/3/29 0029.
 */
@RestController
@RequestMapping("ip")
public class FirstIp {

    @PostMapping
    public String getPostMappingCloud() {

        return "hi,boss! Let's GO! PostMapping";
    }

    @DeleteMapping
    public String getDeleteMappingCloud() {

        return "hi,boss! Let's GO! DeleteMapping";
    }

    @PutMapping
    public String getPutMappingCloud() {

        return "hi,boss! Let's GO! PutMapping";
    }

    @GetMapping
    public String getGetMappingCloud() {

        return "hi,boss! Let's GO! GetMapping";
    }
}

controller