五,Eureka 第五章

5.3.2 修改pom添加依赖

复制代码
<dependencies>
        <!--公共部门-->
        <dependency>
            <groupId>cn.bdqn</groupId>
            <artifactId>springcloud-api-commons</artifactId>
            <version>${project.version}</version>
        </dependency>

        <!--eureka client-->    
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        
        <!--actuator-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>

        <!--连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
        </dependency>

        <!--mysql连接-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <!--jdbc-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <!--热驱动-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </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>
    </dependencies>

5.3.3编写yml

复制代码
server:
  port: 8003

spring:
  application:
    name: springcloud-payment-provider-service
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/springcloud_db?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT
    username: root
    password: xiaoduo456new


mybatis:
  type-aliases-package: cn.bdqn.domain
  mapper-locations: classpath:mapper/*.xml

eureka:
  client:
    #表示是否将自己注册进EurekaServer默认为true
    register-width-eureka: true
    #是否从EurekaServer抓取已有的注册信息,默认为true 单节点无所谓,集群必须设置true 才能配合ribbon  使用负载均衡
    fetch-registry: true
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka,
                   http://eureka7002:com:7002/eureka,
                   http://eureka7003:com:7003/eureka,

    instances:
      prefer-ip-address: true  #使用ip地址注册

5.3.4编写启动类

复制代码
@SpringBootApplication
@EnableEurekaClient
public class Payment8003Application {
    public static void main(String[] args) {
        SpringApplication.run(Payment8003Application.class, args);
    }
}

5.3.5编写paymentMapper接口

复制代码
public interface PaymentServer {

    //保存一个支付流水
    public void save(Payment payment);
    //根据id获取具体的支付信息
    public Payment selectById(Integer id);
}

5.3.6编写映射文件

复制代码
<?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="cn.bdqn.Mapper.PaymentMapper">
    <resultMap id="PaymentResultMap" type="cn.bdqn.domain.Payment">
        <id column="id" property="id"></id>
        <id column="flow_number" property="flowNumber"></id>
    </resultMap>
    <insert id="insert" parameterType="cn.bdqn.Mapper.PaymentMapper">
        insert into t_payment(flow_number)values(#{flowNumber})
    </insert>
    <select id="selectById" resultMap="PaymentResultMap">
        SELECT id,flow_number from t_payment where  id="#{id}"
    </select>
</mapper>

5.3.6编写Payment业务接口以及实现类型

复制代码
public interface PaymentServer {

    //保存一个支付流水
    public void save(Payment payment);
    //根据id获取具体的支付信息
    public Payment selectById(Integer id);
}


@Service
public class PaymentServerImpl implements PaymentServer {

    @Autowired
    private PaymentMapper paymentMapper;

    @Override
    public void save(Payment payment) {
        paymentMapper.insert(payment);
    }

    @Override
    public Payment selectById(Integer id) {
        return paymentMapper.QueryById(id);
    }
}

5.3.8编写paymentController控制器

复制代码
@RestController
@EnableEurekaClient
public class PaymentController {

    @Autowired
    private PaymentServer paymentServer;

    @GetMapping("/payment/save")
    public ResponseResult save(Payment payment){
        try {
            paymentServer.save(payment);
            return  new ResponseResult(200,"插入成功",null);
        }catch (Exception e){
            e.printStackTrace();
            return  new ResponseResult(404,"插入失败",null);
        }
    }

    @PostMapping("/payment/id/{id}")
    public ResponseResult selectById(@RequestBody Integer id) {
        Payment payment = paymentServer.selectById(id);
        if (payment != null) {
            return new ResponseResult(200, "成功", payment);
        } else {
            return new ResponseResult(200, "失败", null);
        }
    }
}
相关推荐
亚空间仓鼠9 小时前
Docker 容器技术入门与实践 (六):Docker镜像瘦身
docker·容器·eureka
雨奔12 小时前
TSF 微服务熔断实战:从原理到落地,杜绝级联故障
微服务·云原生·架构
cyber_两只龙宝13 小时前
【Oracle】Oracle之SQL的转换函数和条件表达式
linux·运维·数据库·sql·云原生·oracle
cyber_两只龙宝14 小时前
【Oracle】Oracle之SQL的聚合函数和分组
linux·运维·数据库·sql·云原生·oracle
Ciao11215 小时前
Docker连接失败时替换第三方镜像源,不需要重启docker
docker·容器·eureka
张32317 小时前
Ansible变量与事实
运维·云原生·自动化
亚空间仓鼠17 小时前
Docker 容器技术入门与实践 (五):Docker Compose
docker·容器·eureka
小义_18 小时前
【Kubernetes】(七) 控制器2
linux·运维·云原生·kubernetes·红帽
青槿吖19 小时前
Feign 微服务远程调用指南:告别手写 RestTemplate
java·redis·后端·spring·微服务·云原生·架构
Wy_编程19 小时前
docker仓库
docker·容器·eureka