1.新建父工程
2.点击File - settings - Build Tools - Maven ,这里的Maven路径选择自己本地的maven路径。
3.Editor - File Types,末尾加上“.idea;.iml;”,设置隐藏impl文件和.idea文件;
4.File - settings - Build - Complier - Java Complier ,需要将编译版本设置为1.8;
5.pom.xml加入依赖
4.0.0 com.elio.springcloud springcloudtest1.0-SNAPSHOT UTF-8 4.12 1.18.10 1.2.17 5.1.47 1.1.16 1.3.0 org.apache.maven.plugins maven-project-info-reports-plugin3.0.0 org.springframework.boot spring-boot-dependencies2.2.2.RELEASE pom import org.springframework.cloud spring-cloud-dependenciesHoxton.SR1 pom import com.alibaba.cloud spring-cloud-alibaba-dependencies2.1.0.RELEASE pom import mysql mysql-connector-java${mysql.version} runtime com.alibaba druid${druid.version} org.mybatis.spring.boot mybatis-spring-boot-starter${mybatis.spring.boot.version} junit junit${junit.version} log4j log4j${log4j.version} org.springframework.boot spring-boot-maven-plugintrue true
6.创建子工程
点击finish后,我们可以看到构建成功的子项目
7.添加商品服务提供者的pom.xml配置
springcloud com.sdltxjt 1.0-SNAPSHOT 4.0.0 springcloud-product-provider-8100org.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-starter-actuatormysql mysql-connector-javacom.alibaba druidorg.mybatis.spring.boot mybatis-spring-boot-starterorg.springframework.boot spring-boot-devtoolsorg.projectlombok lombokorg.springframework.boot spring-boot-maven-plugintrue true
8.右键商品服务提供者项目的resources文件夹,新增application.yml配置文件,新增之后application.yml前面有个绿色的小叶子标识
server: port: 8100 #端口号 spring: application: name: springcloud-product-provider-8100 datasource: url: jdbc:mysql://192.168.9.202:18080/springcloud?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true driverClassName: com.mysql.jdbc.Driver username: root password: 123*** mybatis: mapper-locations: classpath:mapping/*mapper.xml # Mybatis 映射文件位置 type-aliases-package: com.sdltxjt.springcloud.entity # 表对应的实体类包
9.右键java文件夹新增,实体类Product,这将是我们接下来的product表对应的实体类
package com.sdltxjt.springcloud.entity; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @NoArgsConstructor @AllArgsConstructor @Setter @Getter public class Product { private Long id; //自增id private String name;// 产品名称 private int stock;// 库存 }
10.新增dao层接口ProductMapper
package com.sdltxjt.springcloud.dao; import com.sdltxjt.springcloud.entity.Product ; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @Repository public interface ProductMapper { public Product selectById(@Param("id") Long id); public int deleteById(@Param("id") Long id); public int updateById(@Param("id") Long id, @Param("name") String name); public int insertOne(Product product); }
11.右键resources文件,新增mappingproduct_mapper.xml文件,这个是product表对应的sql文件,包含简单的增删改查
12.新增ProductService.java文件
package com.sdltxjt.springcloud.service; import com.sdltxjt.springcloud.entity.Product; import org.apache.ibatis.annotations.Param; public interface ProductService { public Product selectById(Long id); public int deleteById(Long id); public int updateById(Long id, String name); public int insertOne(Product product); }
13.新增ProductServiceImpl.java 类
package com.sdltxjt.springcloud.service.impl; import com.sdltxjt.springcloud.dao.ProductMapper; import com.sdltxjt.springcloud.entity.Product; import com.sdltxjt.springcloud.service.ProductService; import org.springframework.stereotype.Service; import javax.annotation.Resource; @Service public class ProductServiceImpl implements ProductService { @Resource private ProductMapper productMapper; @Override public Product selectById(Long id) { return productMapper.selectById(id); } @Override public int deleteById(Long id) { return productMapper.deleteById(id); } @Override public int updateById(Long id, String name) { return productMapper.updateById(id, name); } @Override public int insertOne(Product product) { return productMapper.insertOne(product); } }
14.新增Result.java
package com.sdltxjt.springcloud.dto; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @AllArgsConstructor @NoArgsConstructor @Setter @Getter public class Result { private int code; private String message; private Object result; }
15.新增ProductProviderController.java
package com.sdltxjt.springcloud.controller; import com.sdltxjt.springcloud.dto.Result; import com.sdltxjt.springcloud.entity.Product; import com.sdltxjt.springcloud.service.ProductService; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @RestController @Slf4j @RequestMapping("/") public class ProductProviderController { @Resource private ProductService productService; @GetMapping("product/provider/get/{id}") public Result selectById(@PathVariable("id") Long id){ return new Result(200, "查询成功", productService.selectById(id)); } @GetMapping("product/provider/delete/{id}") public Result deleteById(@PathVariable("id") Long id){ return new Result(200, "删除成功", productService.deleteById(id)); } @PostMapping("product/provider/update") public Result updateById(@RequestBody Product product){ return new Result(200, "修改成功", productService.updateById(product.getId(), product.getName())); } @PutMapping( "product/provider/add") public Result insertById(@RequestBody Product product){ return new Result(200, "修改成功", productService.insertOne(product)); } }
16.右键java文件夹,新增主启动类ProductProvider8100
ProductProvider8100内容如下,加上@SpringBootApplication和MapperScan注解
package com.sdltxjt.springcloud; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.sdltxjt.springcloud.dao") public class ProductProvider8100 { public static void main(String[] args){ SpringApplication.run(ProductProvider8100.class, args); } }
17.创建表结构
DROP TABLE IF EXISTS `product`; CREATE TABLE `product` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `stock` int(10) unsigned DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
18.至此微服务的商品提供者我们已经创建成功,接下来就是测试该提供者了,启动类ProductProvider8100上右键Run
19.浏览器地址输入 http://localhost:8100/product/provider/get/1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)