前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微服务综合案例-02-product服务创建

微服务综合案例-02-product服务创建

作者头像
用户4919348
发布2019-06-17 16:19:41
4270
发布2019-06-17 16:19:41
举报
文章被收录于专栏:波波烤鸭波波烤鸭

上篇文章我们分析了我们要实现的案例的需求,本文我们来实现下product服务。因为要创建的项目比较多所以,本案例采用eclipse来开发。

Product服务

  因为我们是通过Feign来声明是的调用服务,所以我们需要创建service接口服务。持久层我们通过mybatis操作,所以我们需要通过mybatis的generator插件来帮助我们生存对应文件

一、数据库

  product服务对应的是book-product库中的product表

二、mybatis逆向工程

  创建一个普通java工程,配置相关配置文件,设置相关参数,生成product表对应的相关信息,如果逆向工程不熟,欢迎参考此文:

https://cloud.tencent.com/developer/article/1409373

代码语言:javascript
复制
<?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>
   <!-- 数据库的驱动包路径 -->
  <classPathEntry location="C:\Users\dengp\.m2\repository\mysql\mysql-connector-java\5.1.21\mysql-connector-java-5.1.21.jar" />

  <context id="DB2Tables" targetRuntime="MyBatis3">
  <!-- 去掉生成文件中的注释 -->
		<commentGenerator>
			<property name="suppressAllComments" value="true" />
		</commentGenerator>
  	<!-- 数据库链接URL、用户名、密码 --> 
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"  
        connectionURL="jdbc:mysql://localhost:3306/book-product"  
        userId="root"  
        password="123456">  
    </jdbcConnection>   
    <!-- <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" 
          connectionURL="jdbc:oracle:thin:@localhost:1521:XE" 
          userId="car" 
          password="car"> 
  </jdbcConnection>  -->
	
    <javaTypeResolver >
      <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>
	<!-- 生成模型的包名和位置 --> 
    <javaModelGenerator targetPackage="com.bobo.pojo" targetProject="e-book-mybatis-generator\src">
    	<!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] --> 
      <property name="enableSubPackages" value="false" />
      <property name="trimStrings" value="true" />
    </javaModelGenerator>
 	<!-- 生成的映射文件包名和位置 -->
    <sqlMapGenerator targetPackage="com.bobo.mapper"  targetProject="e-book-mybatis-generator\src">
      <property name="enableSubPackages" value="false" />
    </sqlMapGenerator>
 	<!-- 生成DAO的包名和位置 --> 
    <javaClientGenerator type="XMLMAPPER" targetPackage="com.bobo.mapper"  targetProject="e-book-mybatis-generator\src">
      <property name="enableSubPackages" value="false" />
    </javaClientGenerator>
    
     <table  tableName="product" domainObjectName="Product" >
    </table> 
    
  </context>
</generatorConfiguration>

三、创建service服务

  创建service项目,此项目是一个SpringCloud项目

引入如下依赖

代码语言:javascript
复制
<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>com.bobo</groupId>
	<artifactId>e-book-product-service</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.13.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Dalston.SR5</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>
</project>

将生成的Pojo内容拷贝到此项目中

四、创建provider服务

  创建product服务的provider应用。也是个SpringCloud项目

1.创建项目

2.添加依赖

  完整的pom文件依赖如下

代码语言:javascript
复制
<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>1.5.13.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.bobo</groupId>
	<artifactId>e-book-product-provider</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.4</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-eureka</artifactId>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.47</version>
		</dependency>
		<dependency>
			<groupId>com.bobo</groupId>
			<artifactId>e-book-product-service</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
		

	</dependencies>
	
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Dalston.SR5</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
</project>

3.添加配置文件

  在application.properties中配置如下内容

代码语言:javascript
复制
spring.application.name=e-book-product
server.port=9001
#\u8BBE\u7F6E\u670D\u52A1\u6CE8\u518C\u4E2D\u5FC3\u5730\u5740\uFF0C\u6307\u5411\u53E6\u4E00\u4E2A\u6CE8\u518C\u4E2D\u5FC3
eureka.client.serviceUrl.defaultZone=http://dpb:123456@eureka1:8761/eureka/,http://dpb:123456@eureka2:8761/eureka/

#--------------db----------------
mybatis.type-aliases-package=com.book.product.pojo
mybatis.mapper-locations=classpath:com/bobo/product/mapper/*.xml

spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/book-product?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=123456

4.创建启动类

代码语言:javascript
复制
/**
 * provider的启动类
 * @author dengp
 *
 */
@SpringBootApplication
public class Start {

    public static void main(String[] args) {
        SpringApplication.run(Start.class, args);
    }

}

5.拷贝mybatis相关资源

  将mapper的接口文件和映射文件拷贝到对应的位置

到此product服务创建好了,下一篇介绍其他服务的创建

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年06月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Product服务
    • 一、数据库
      • 二、mybatis逆向工程
        • 三、创建service服务
          • 四、创建provider服务
            • 1.创建项目
              • 2.添加依赖
                • 3.添加配置文件
                  • 4.创建启动类
                    • 5.拷贝mybatis相关资源
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档