前言
网上的案例大部分都是hi~hi name什么的,博主实在是感觉太无聊了,毕竟最终我们都是得为底层数据库服务的。于是花了一上午时间写了个springcloud+mysql+mybatis-plus集成的简单例子(mybatis-plus纯属装逼的,同学们也可以使用mybatis)。
目录结构
说明
eureka-base被我当做是注册中心里面什么都没有,只是当做注册仓库一样,其他服务都注册在这里面。端口是8080eureka-server服务提供层,集成mybatis-plus,端口8081,服务名eureka-server-1eureka-client服务消费层,端口8082,服务名eureka-client-2feign-client服务消费层。服务名:feign-consumer
eureka-base配置
pom.xml
<parent>
<groupId>org.springframework.boot
</groupId>
<artifactId>spring-boot-starter-parent
</artifactId>
<version>2.0.4.RELEASE
</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8
</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8
</project.reporting.outputEncoding>
<java.version>1.8
</java.version>
<spring-cloud.version>Finchley.SR1
</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud
</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server
</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot
</groupId>
<artifactId>spring-boot-starter
</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot
</groupId>
<artifactId>spring-boot-starter-test
</artifactId>
<scope>test
</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud
</groupId>
<artifactId>spring-cloud-dependencies
</artifactId>
<version>${spring-cloud.version}
</version>
<type>pom
</type>
<scope>import
</scope>
</dependency>
</dependencies>
</dependencyManagement>
application.yml
server:
port: 8080
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http
://$
{eureka.instance.hostname
}:$
{server.port
}/eureka/
只有一个启动类EurekaBaseApplication.java
@SpringBootApplication
@EnableEurekaServer
public class EurekaBaseApplication {
public static void main(String
[] args
) {
SpringApplication
.run(EurekaBaseApplication
.class, args
);
}
}
eureka-server配置
pom.xml
<parent>
<groupId>org.springframework.boot
</groupId>
<artifactId>spring-boot-starter-parent
</artifactId>
<version>2.0.4.RELEASE
</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8
</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8
</project.reporting.outputEncoding>
<java.version>1.8
</java.version>
<spring-cloud.version>Finchley.SR1
</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud
</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server
</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou
</groupId>
<artifactId>mybatis-plus-boot-starter
</artifactId>
<version>3.0-RC2
</version>
</dependency>
<dependency>
<groupId>org.apache.velocity
</groupId>
<artifactId>velocity-engine-core
</artifactId>
<version>2.0
</version>
</dependency>
<dependency>
<groupId>mysql
</groupId>
<artifactId>mysql-connector-java
</artifactId>
<scope>runtime
</scope>
</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>
<dependency>
<groupId>org.mybatis.spring.boot
</groupId>
<artifactId>mybatis-spring-boot-starter
</artifactId>
<version>1.3.2
</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud
</groupId>
<artifactId>spring-cloud-dependencies
</artifactId>
<version>${spring-cloud.version}
</version>
<type>pom
</type>
<scope>import
</scope>
</dependency>
</dependencies>
</dependencyManagement>
application.yml
server:
port: 8081
eureka:
instance:
hostname: localhost
client:
serviceUrl:
defaultZone: http
://localhost
:8080/eureka/
spring:
application:
name: eureka
-server
-1
datasource:
hikari:
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
url: jdbc
:mysql
://localhost
:3306/boot
?useUnicode=true
&characterEncoding=utf8;allowMultiQueries=true&
&useSSL=true
mybatis-plus:
mapper-locations: classpath
:/com/cloud/eureka/mapper/
*Mapper.xml
typeAliasesPackage: com.cloud.eureka.entity
global-config:
db-config:
logic-delete-value: 1
logic-not-delete-value: 0
column-underline: true
field-strategy: not_empty
id-type: id_worker
configuration:
map-underscore-to-camel-case: true
cache-enabled: false
jdbc-type-for-null: 'null'
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
启动类
@SpringBootApplication
@EnableEurekaClient
public class EurekaServerApplication {
public static void main(String
[] args
) {
SpringApplication
.run(EurekaServerApplication
.class, args
);
}
}
代码就不一一贴出来了 github代码